Data Structures & Algorithms

[Algorithms] Basic-스도쿠 검사

숄구-ml 2022. 5. 14. 22:21

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
def check_sudoku(arr):
    
    #행과 열의 체크리스트
    for i in range(9):
        ch1=[0]*9
        ch2=[0]*9
        for j in range(9):
            ch1[arr[i][j]-1]=1
            ch2[arr[j][i]-1]=1
        if sum(ch1)!=9 or sum(ch2)!=9:
            return False
    
    #블록의 체크리스트 - 4중 for문
    for i in range(3):
        for j in range(3):
            ch3=[0]*9
            for k in range(3):
                for h in range(3):
                    ch3[arr[3*i+k][3*j+h]-1]=1
            if sum(ch3)!=9:
                return False
    return True
 
sudoku = [list(map(int, input().split())) for _ in range(9)]
if check_sudoku(sudoku):
    print("YES")
else:
    print("NO")
 
cs
728x90