티스토리 뷰
728x90
풀이
첫번째 for문에서 가로, 세로 중복 검사를 해주고, 두번째 for문에서 3x3 격자 검사를 해줬다.
각 숫자가 몇번 나왔는지 카운팅할 리스트를 만들고 카운트 해줬다.
❕ 주의 ❕ 총합이 45가 되는지로 검사하면 안된다. 5가 9번 나오는 경우도 고려해야 하기 때문이다.
T = int(input())
for tc in range(1, T+1):
arr = [list(map(int, input().split())) for _ in range(9)]
result = 1
# 가로 세로 검사
for i in range(9):
cnt_r = [0] * 10
cnt_c = [0] * 10
for j in range(9):
cnt_r[arr[i][j]] += 1
cnt_c[arr[j][i]] += 1
# 중복 체크
for k in range(1, 10):
if cnt_r[k] != 1:
result = 0
break
if cnt_c[k] != 1:
result = 0
break
# 3x3 격자 검사
for i in range(3):
for j in range(3):
cnt_x = [0] * 10
for k in range(3):
for l in range(3):
cnt_x[arr[3*i+k][3*j+l]] += 1
for k in range(1, 10):
if cnt_x[k] != 1:
result = 0
break
print("#{} {}".format(tc, result))
'algorithm > swea' 카테고리의 다른 글
[swea] 1961. 숫자 배열 회전 / python 파이썬 (0) | 2021.04.09 |
---|---|
[swea] 4047. 영준이의 카드 카운팅 / python 파이썬 (0) | 2021.04.09 |
[swea] 1222. 계산기1 / python 파이썬 (0) | 2021.04.09 |
[swea] 4866. 괄호검사 / python 파이썬 (0) | 2021.04.09 |
[swea] 1206. View / python 파이썬 (0) | 2021.04.09 |
글 보관함
TAG
- 기지국설치
- 파이썬
- 보석쇼핑
- react
- Python
- 2018 카카오 공채
- 프로그래머스
- swea
- 삼성코테
- 브루트포스
- 20057 마법사 상어와 토네이도
- merge 에러
- dp
- BFS
- git 미러링
- 21609 상어 중학교
- 삼성기출
- 백준
- merge에러
- 알고리즘
- dfs
- 2579 계단오르기
- 17406 배열돌리기4
- 20056 마법사 상어와 파이어볼
- 영어끝말잇기
최근에 올라온 글
- Total
- Today
- Yesterday
최근에 달린 댓글