티스토리 뷰
문제
7*7 격자판 미로를 탈출하는 경로의 가지수를 출력하는 프로그램을 작성하세요. 출발점은 격 자의 (1, 1) 좌표이고, 탈출 도착점은 (7, 7)좌표이다. 격자판의 1은 벽이고, 0은 통로이다. 격 자판의 움직임은 상하좌우로만 움직인다. 미로가 다음과 같다면
위의 지도에서 출발점에서 도착점까지 갈 수 있는 방법의 수는 8가지이다.
풀이
function solution(board) {
let answer = 0;
let dx = [-1, 0, 1, 0];
let dy = [0, 1, 0, -1];
function DFS(x, y) {
if (x === 6 && y === 6) {
answer++;
} else {
for (let i = 0; i < 4; i++) {
let nx = x + dx[i];
let ny = y + dy[i];
console.log(nx, ny);
if (nx >= 0 && nx <= 6 && ny >= 0 && ny <= 6 && board[nx][ny] === 0) {
board[nx][ny] = 1;
DFS(nx, ny);
board[nx][ny] = 0;
}
}
}
}
board[0][0] = 1;
DFS(0, 0);
return answer;
}
let arr = [
[0, 0, 0, 0, 0, 0, 0],
[0, 1, 1, 1, 1, 1, 0],
[0, 0, 0, 1, 0, 0, 0],
[1, 1, 0, 1, 0, 1, 1],
[1, 1, 0, 0, 0, 0, 1],
[1, 1, 0, 1, 1, 0, 0],
[1, 0, 0, 0, 0, 0, 0],
];
console.log(solution(arr));
'알고리즘 > 코딩테스트 공부' 카테고리의 다른 글
9-7. 섬나라 아일랜드(DFS 활용)와 (BFS : 넓이 우선 탐색) 문제 풀이 (0) | 2022.03.26 |
---|---|
9-6. 송아지 찾기(BFS : 상태 트리 탐색) (0) | 2022.03.26 |
9-3. 경로 탐색(DFS-인접 리스트 : 노드 개수가 많을 때 적용) (0) | 2022.03.25 |
9-2. 경로 탐색(DFS-인접 행렬 : 노드 개수가 적을 때) (0) | 2022.03.25 |
그래프와 인접행렬 (BFS) 선행 지식 (0) | 2022.03.25 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- error
- 노개북
- nodejs
- 원티드
- createPortal
- jest
- nextjs
- 위코드
- WSL2
- 윤성우 열혈C프로그래밍
- React
- electron
- env
- 북클럽
- NextRequest
- C언어
- TopLayer
- 프론트앤드
- CLASS
- import/order
- 프리온보딩
- 스토리 북
- 우아한테크코스
- 아차산
- NextApiRequest
- javascript
- 노마드코더
- 초보
- Storybook
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
글 보관함