본문 바로가기

파이썬 알고리즘 (인프런)/탐색&시물레이션

10. 스도쿠 검사

# 스도쿠 검사

def run(mp):
    for i in range(9):
        ch = [0] * 10
        for j in range(9):
            ch[mp[i][j]] = 1
        if sum(ch) != 9:
            return "NO"

        ch = [0] * 10
        for j in range(9):
            ch[mp[j][i]] = 1
        if sum(ch) != 9:
            return "NO"

    for i in range(3):
        for j in range(3):
            ch = [0] * 10
            for k in range(3):
                for s in range(3):
                    ch[mp[i*3+k][j*3+s]] = 1
            if sum(ch) != 9:
                return "NO"

    return "YES"


mp = [list(map(int, input().split())) for _ in range(9)]
print(run(mp))

'파이썬 알고리즘 (인프런) > 탐색&시물레이션' 카테고리의 다른 글

11. 격자판 회문수  (0) 2021.02.09
9. 봉우리  (0) 2021.02.09
8. 곳감  (0) 2021.02.09
7. 사과나무  (0) 2021.02.09
6. 격자판 최대합  (0) 2021.02.09