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
'Data Structures & Algorithms' 카테고리의 다른 글
[Algorithms] 결정&그리디 알고리즘-이분 탐색 (0) | 2022.05.15 |
---|---|
[Algorithms] Basic-격자판 회문수 (0) | 2022.05.15 |
[Algorithms] Basic-봉우리 (0) | 2022.05.14 |
[Algorithms] Basic-곶감(모래시계) (0) | 2022.05.14 |
[Algorithms] Basic-사과나무(다이아몬드) (0) | 2022.05.14 |