Menu
CoddyTech

Valid Sudoku

보통해싱python iconjava iconcpp iconc iconjs icon+10

9 × 9 스도쿠 보드를 board로 받습니다. 이는 각각 9개의 문자로 이루어진 문자열 9개로 구성된 목록이며, 각 문자열은 한 행을 나타냅니다. 각 문자는 1부터 9까지의 숫자이거나 빈 칸을 나타내는 .입니다. 한 행, 한 열 또는 3 × 3 박스에서 같은 숫자가 두 번 나타나지 않으면 true를 반환하고, 그렇지 않으면 false를 반환하세요. 채워진 칸만 확인합니다. 보드가 풀 수 있어야 하는 것은 아닙니다.

함수

isValidSudoku(board: string-array) → boolean
boardstring-array
9개의 문자로 이루어진 문자열 9개, 각 행에 하나씩, 숫자 1~9와 빈 칸을 나타내는 .
반환값boolean
행, 열 또는 3 × 3 상자에 숫자가 반복되지 않으면 true, 그렇지 않으면 false

제약 조건

  • board.length == 9 그리고 board[i].length == 9
  • board[i][j]는 1부터 9까지의 숫자이거나 .입니다.
  • 보드를 완성하는 것이 불가능할 수도 있습니다. 채워진 셀들 사이의 반복만 중요합니다.

예제

입력
board = [".19......", "..89...3.", ".3.8.....", ".5..6....", ".74..89.3", "....7....", ".2.5..19.", "1....3...", ".8......7"]
출력
true
설명
0부터 세었을 때 4번째 행인 .74..89.3에는 7, 4, 8, 9, 3이 각각 한 번씩 있으며, 나머지 26개 그룹 중 어느 것도 숫자를 반복하지 않습니다.
challenge icon

후속 질문

4 × 4 상자와 1부터 9까지 및 A부터 G까지의 기호가 있는 16 × 16 보드는 어떻게 확인하나요? 상자 공식은 어떻게 바뀌나요?

코드 초기화
def isValidSudoku(board):
    # 여기에 코드를 작성하세요

테스트 #1

테스트 #2

테스트 #3

인자

board = [".19......", "..89...3.", ".3.8.....", ".5..6....", ".74..89.3", "....7....", ".2.5..19.", "1....3...", ".8......7"]

예상 출력

true