1974 - 스도쿠 검증

박재현·2022년 2월 18일
0

알고리즘 부수기

목록 보기
35/43
post-thumbnail

문제 설명

링크

문제 풀이

문제의 흐름을 따라간다.
set함수가 중복을 허용하지 않는 특징을 이용하여, 탐색 후 만들어진 set함수의 길이를 검사한다.

  1. 한 행을 검사할 때마다 set함수에 넣고 길이를 비교한다음 9보다 작을 경우, result = 0하고 검사를 중단한다.
  2. 1번 과정을 열, 3 * 3 박스를 대상으로 검사한다.

코드

T = int(input())
for tc in range(1, T + 1):
    arr = [list(map(int, input().split())) for _ in range(9)]
    sdokuSet = set()
    result = 1
    for i in range(9):
        for j in range(9):
            sdokuSet.add(arr[i][j])
        if len(sdokuSet) < 9:
            result = 0
            break
        sdokuSet.clear()

    for j in range(9):
        for i in range(9):
            sdokuSet.add(arr[i][j])
        if len(sdokuSet) < 9:
            result = 0
            break
        sdokuSet.clear()

    for i in range(0, 9, 3):
        for j in range(i, i+3):
            for k in range(3):
                sdokuSet.add(arr[j][k])
        if len(sdokuSet) < 9:
            result = 0
            break
        sdokuSet.clear()
    print(f'#{tc} {result}')
profile
공동의 성장을 추구하는 개발자

0개의 댓글