브루트포스 3

[Baekjoon] 백준 7490번 : 0 만들기 (by Python) with eval

https://www.acmicpc.net/problem/7490 아이디어자연수 N이 3~9로 크지 않고, 연산자의 경우 +, -, 공백으로 3가지 경우가 포함된다.N에 대한 오름차순 수열에 대해 모든 연산자를 사용하는 경우를 뻗어나가며 수식의 결과가 0이면 체크하는 방식으로 코드를 구현했다. -> 브루트포스 알고리즘 파이썬 추가 아이디어 : eval처음에는 각 숫자를 계속 이어붙이며 연산을 수행했다. 하지만 이 로직을 리팩토링 할 수 있는 파이썬 내장팜수 eval을 알게되었다. eval 함수는 파이썬에서 제공하는 내장 함수로, 문자열로 표현된 식(expression)을 받아서 실행하고 그 결과를 반환한다. 사용법expr = "2 + 3 * (4 - 1)"result = eval(expr)print(re..

카테고리 없음 2024.10.19

[완전탐색] 알고리즘 - 완전탐색(Brute Force)

완전 탐색 (Brute Force) 가능한 모든 경우의 수를 탐색하면서 요구 조건에 충족되는 결과를 가져오는 알고리즘 이다. 해가 존재한다는 가정을 세우고 완전 탐색하기 때문에 무조건 정답을 찾을 수 있다. 복잡한 알고리즘을 생각하지 않고 모든 경우를 단순히 살펴본다고 볼 수 있다. 완전 탐색 알고리즘을 풀 때는 탐색해야할 전체 데이터 개수가 100만개 이하일 때 완전 탐색을 사용해야한다. 완전 탐색 종류 1. 선형 구조를 전체 탐색하는 순차 탐색 2. 비선형 구조를 전체 탐색하는 DFS(깊이 우선 탐색), BFS(너비 우선 탐색) 사용 조건 1. 문제에 대한 해결책이 잘 정의 되어 있어야 한다. - 해결책이 정의되어 있어야 브루트 포스를 사용한 해결책이 올바른 방법인지 확인할 수 있다. 2. 문제를 해..

알고리즘/개념 2023.08.03

[baekjoon] 1018번 : 체스판 다시 칠하기 by pyhton

https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net code N , M = map(int,input().split()) #N:세로 M:가로 board = [] count = [] for _ in range(N): board.append(input()) for i in range(N-7): for j in range(M-7): f_w = 0 f_b = 0 for x in range(i,i+8): for y in range(j,j+8): if ..