백트래킹2 [Python] 스도쿠 만들기 (다른 방식) 저번 코드는 처음부터 하나하나 다 만들어야해서 많은 시도를 해야했습니다.하지만 이번에는 미리 정해진 수를 집어넣어봤습니다. from random import *import syssys.setrecursionlimit(100000000)board = [[0 for i in range(9)] for i in range(9)] # 9 x 9 크기row = [[0 for i in range(10)] for i in range(9)] # 편의성을 위해 0번째는 사용 xcol = [[0 for i in range(10)] for i in range(9)]diag = [[0 for i in range(10)] for i in range(9)]end = Falsedef board_init(): nums = [i .. 2024. 11. 12. [Python] 스도쿠 만들기 심심해서 만들어본 스도쿠입니다.만들고나서 다른 풀이를 찾아보면서 백트래킹(Backtracking)에 대해 알게되었는데간단히 설명하자면 무조건 불가능한 경우의 수들을 없에 무작정 모든 경우의 수를 다루는 것보단 빠르게 하는 알고리즘입니다. 스도쿠나 다른 경우의 수를 다루는 것에서 많이 쓰이니 한번씩 알고가시면 좋을 듯 합니다. from random import sampleimport syssys.setrecursionlimit(2000)map = [[0 for _ in range(9)] for _ in range(9)]def is_safe(map, row, col, num): if map[row].count(num) > 0: return False if [row[col] for ro.. 2024. 11. 6. 이전 1 다음