인프런 커뮤니티 질문&답변

HTCho1님의 프로필 이미지
HTCho1

작성한 질문수

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

10. 스토쿠 검사

안녕하세요. 다른 풀이도 풀었는데 괜찮을까요?

작성

·

383

0

정답은 제대로 나오긴 했는데 시간 초과라던가 하는 문제가 없을까요?

4중 for문은 생각지도 못했네요..ㅠㅠ

 

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


def solution(sudoku):
    length = len(sudoku)
    a, b, c, = list(), list(), list()
    # 행열 검사
    for i in range(length):
        row, col = list(), list()
        for j in range(length):
            row.append(sudoku[i][j])
            col.append(sudoku[j][i])
        if len(set(row)) != 9 or len(set(col)) != 9:
            return "NO"
        
        # 3x3 격자판 검사
        a.extend(row[0:3])
        b.extend(row[3:6])
        c.extend(row[6:])
        if i == 2 or i == 5 or i == 8:
            if len(set(a)) != 9 or len(set(b)) != 9 or len(set(c)) != 9:
                return "NO"
            a, b, c, = list(), list(), list()
    
    return "YES"


print(solution(sudoku))

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

네. 시간초과와는 상관없어 보입니다.

HTCho1님의 프로필 이미지
HTCho1

작성한 질문수

질문하기