Leetcode - Valid Sudoku in Typescript | Easy Solution
- 스도쿠 유효성 검사 문제는 9x9 보드에서 각 행, 열, 3x3 서브 박스에 1부터 9까지의 숫자가 중복 없이 나타나는지 확인하는 것이다. 🧩
- 중복 값 확인 시, Set 자료구조를 활용하여 효율적인 탐색 및 추가가 가능하다. 🔍
- 2차원 배열을 순회하며 각 셀의 값을 확인하고, '.'(빈칸)은 continue 문으로 건너뛴다. ➡️
- 템플릿 리터럴을 사용하여 행, 열, 박스 정보를 문자열로 저장하고, Set에 추가하여 중복을 검사한다. 🔤
- 박스 번호는
Math.floor를 활용하여 계산하며, 이는 특정 셀이 어느 3x3 박스에 속하는지 파악하는 데 사용된다. 🔢
- 행, 열, 박스 중 어느 하나라도 Set에 이미 존재하면 중복으로 간주하고
false를 반환한다. ❌
- 모든 검사를 통과하면 유효한 스도쿠로 판단하고
true를 반환한다. ✅
- 이 방법은 고정된 크기의 보드(9x9)에서 O(N^2)의 시간 복잡도를 가지지만, 성능에 큰 영향을 미치지 않는다. ⏱️
- LeetCode에서 해당 코드는 65.39%의 성능을 보이며, 5ms의 실행 시간을 가진다. 🏆