개발자 톡
연습문제 톡
[HSAT 7회 정기 코딩 인증평가 기출] 순서대로 방문하기
JS
- 등록일
- 2024-11-08 16:36:22
- 조회수
- 38
- 작성자
- vavoya6324
const fs = require('fs'); let input = fs.readFileSync('input.txt', 'utf8').trim().split('\n') const range = +input[0][0] const box = input.slice(1, range + 1).map(line => line.split(' ').map(Number)) const points = input.slice(range + 1).map(line => line.split(' ').map(Number)) let pathCount = 0 function DFS(x, y, point) { // box 탐색용 x, y const X = x - 1 const Y = y - 1 // 탐색 중 box[X][Y] = 1 // 각 목적지 도착 if (points[point][0] === x && points[point][1] === y) { point++ } // 최종 목적지 도착 if (points[point] === undefined) { box[X][Y] = 0 return pathCount++ } if (box[X] && box[X][Y + 1] === 0) DFS(x, y + 1, point) if (box[X] && box[X][Y - 1] === 0) DFS(x, y - 1, point) if (box[X + 1] && box[X + 1][Y] === 0) DFS(x + 1, y, point) if (box[X - 1] && box[X - 1][Y] === 0) DFS(x - 1, y, point) // 탐색 끝 box[X][Y] = 0 } DFS(...points[0], 0) console.log(pathCount)
#[HSAT_7회_정기_코딩_인증평가_기출]_순서대로_방문하기