일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 타입 챌린지
- HTTP
- 수학
- 프로그래머스
- 백준
- 레벨 1
- 알고리즘
- dfs
- 그래프
- Crawling
- 소켓
- 타입스크립트
- 프로그래머스 레벨 2
- BFS
- Algorithm
- HTTP 완벽 가이드
- socket
- Node.js
- typescript
- Nestjs
- dp
- ip
- 자바스크립트
- TCP
- 쉬운 문제
- 크롤링
- javascript
- 가천대
- 문자열
- type challenge
- Today
- Total
목록스도쿠 (2)
kakasoo

const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); const input = []; rl.on("line", (line) => { input.push(line); }).on("close", () => { const map = input.map((row) => row.split(" ")); const nullPoint = []; for (let i = 0; i < map.length; i++) { for (let j = 0; j < map[i].length; j++) { if (map[i][j] == 0) { nullPoint.push..

알고리즘 구분 알고리즘을 공부하며 가장 헷갈린 것이, 알고리즘의 이름이 무얼 의미하는지 몰랐던 부분이었다. n-Queen 문제를 풀 때도, 풀이를 보고 신기했던 경험이 있었지만 백트래킹에 대한 이해는 얕았다. 그러나 그것이 스도쿠 문제를 풀면서 완전한 이해로 갖춰지게 된 거 같다. 일단 기본적으로, 브루트 포스가 있다. 브루트 포스는 for문이든 중첩된 for문이든 간에 모든 경우의 수를 다 찾아보는 방식이다. 이 브루트 포스에서 방문한 칸을 체크하는 것으로 효율을 꾀하는 것이 dfs와 bfs로 나타난다. 그러나 dfs는 갈래의 마지막까지 방문한 다음에 옳고 그름을 판단하는데, 다음의 문제가 있다 1) 만약 재귀가 끝나지 않는다면? -> 런 타임 에러가 발생한다. 2) 중간에 틀린 걸 판별했다면? -> ..