습관을 애정한다

Code Signal: Intro=60/60

by 습관중독
def sudoku(grid):
    digit = {1,2,3,4,5,6,7,8,9}   
    sub = []
    for i in range(len(grid)):
        if sum(grid[i]) != 45:
            return False
        total = 0
        x = []
        y = []
        for j in range(len(grid[0])):
            total += grid[i][j]
            x.append(grid[j][i])
            y.append(grid[i][j])
            #set(grid[0])==digit
        if total != 45:
            return False
        if set(x) != digit or set(y) != digit:
            return False
    for k in range(0,9,3):
        for l in range(0,9,3):
            SUM = 0
            z = []
            for m in range(0,3):
                for n in range(0,3):
                    SUM += grid[k+m][l+n]
                    z.append(grid[k+m][l+n])
            if SUM != 45 or set(z) != digit:
                return False
    return True

x = 가로축 숫자 검사
y = 세로축 숫자 검사
z = subset 숫자 검사

'코드 파이트(Code Signal)' 카테고리의 다른 글

코드업 기초 100제 vs. 코드파이트 Intro 비교 후기  (0) 2020.02.26
Code Signal: Intro=59/60  (0) 2020.02.24
Code Signal: Intro=58/60  (0) 2020.02.24
Code Signal: Intro=57/60  (0) 2020.02.23
Code Signal: Intro=56/60  (0) 2020.02.23

블로그의 정보

습관을 애정한다

습관중독

활동하기