백준 문제풀이(파이썬)/브루트 포스

6이 3개이상 연속으로 들어가는 수를 찾는 문제다. 무한 루프 반복문을 돌려서 6이 3개이상 연속으로 들어가는 수를 cnt해주면서 구하려는 값이 되면 반복문을 탈출해주면 되겠다. i를 1부터 계속 증가시켜주고 i를 문자열로 바꾼 뒤 그 문자열에 666이 있으면 cnt를 1씩 더해주는 식으로 풀면 되겠다. 파이썬은 다양한 기본 함수가 있어서 find함수를 써서 쉽게 풀 수 있었다. 예전에 C로 풀었던 코드를 보면, 666부터 시작해서 1씩 증가시켜주면서 연산을 위한 End_safe에 값을 넣어주고 End_safe를 나눠주면서 cnt가 3이면(6이 연속 3번 나오면) right를 1씩 더해주는 식으로 코드를 짰다. #파이썬 코드 ##변수 선언 부분 cnt = 0 is_right = 0 ##메인 함수 부분 i..
체스판을 차례차례 대보면서 가장 적게 칠하는 경우를 구하는 문제이다. 모든 경우를 돌려봐야하는 브루트 포스 문제다. 일단 8X8 체스판을 만들어 놓고 이동하면서 칠해야하는 개수를 세줘야 하기 때문에, 처음이 검은색으로 시작하는 체스판과 처음이 흰색으로 시작하는 체스판 두 개를 만들어놔야 한다. 일단 나는 8X8크기의 2차원 배열을 각각 모두 'W' 혹은 'B'로 초기화해서 만들고, 2중 for문으로 체스판을 만들었다. 하나하나 옮겨가면서 비교하려면 총 몇번을 비교할지가 중요하다. 길이가 8이기 때문에, 행을 따라서 N-7만큼 반복하고 열을 따라서 M-7만큼 반복해주면 된다. 그리고 8X8만큼 반복을 해주면서 미리 만들어둔 판과 다른 색이면 cnt를 1씩 더해준다. 최솟값을 구하기 위해서 min_cnt에 ..
aodtns
'백준 문제풀이(파이썬)/브루트 포스' 카테고리의 글 목록