Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- JavaScript
- 백준 1068
- 기지국 설치 자바스크립트
- 2638번 치즈
- React
- 백준 2638번
- level1
- 자바스크립트
- Java
- 우선순위 큐 자바스크립트
- 프로그래머스
- 백준
- 13023번 ABCDE
- level0
- 알고리즘
- 백준 1068번 트리
- 기지국 설치 js
- 1303번
- 24480번
- 알고리즘 수업-깊이 우선 탐색1
- 1937번 욕심쟁이 판다
- 2275번
- Redux
- dfs
- 부녀회장이 될 테야
- 힙 자바스크립트
- 백준 13023번
- ssh
- 1389번 케빈 베이컨의 6단계 법칙
- 리덕스
Archives
- Today
- Total
코딩왕랄프👊🏻
[백준] 1189번 컴백홈 본문
반응형
SMALL
문제
한수는 캠프를 마치고 집에 돌아가려 한다. 한수는 현재 왼쪽 아래점에 있고 집은 오른쪽 위에 있다. 그리고 한수는 집에 돌아가는 방법이 다양하다. 단, 한수는 똑똑하여 한번 지나친 곳을 다시 방문하지는 않는다.
cdef ...f ..ef ..gh cdeh cdej ...f
bT.. .T.e .Td. .Tfe bTfg bTfi .Tde
a... abcd abc. abcd a... a.gh abc.
거리 : 6 6 6 8 8 10 6
위 예제는 한수가 집에 돌아갈 수 있는 모든 경우를 나타낸 것이다. T로 표시된 부분은 가지 못하는 부분이다. 문제는 R x C 맵에 못가는 부분이 주어지고 거리 K가 주어지면 한수가 집까지도 도착하는 경우 중 거리가 K인 가짓수를 구하는 것이다.
입력
첫 줄에 정수 R(1 ≤ R ≤ 5), C(1 ≤ C ≤ 5), K(1 ≤ K ≤ R×C)가 공백으로 구분되어 주어진다. 두 번째부터 R+1번째 줄까지는 R×C 맵의 정보를 나타내는 '.'과 'T'로 구성된 길이가 C인 문자열이 주어진다.
출력
첫 줄에 거리가 K인 가짓수를 출력한다.
const _input = require("fs").readFileSync("/dev/stdin").toString().trim().split("\n");
function solution(input) {
const [R, C, K] = input.shift().split(" ").map(Number);
const graph = input.map((item) => item.split(""));
const visited = Array.from({ length: R }, () => Array.from({ length: C }, () => 0));
const dy = [0, 0, 1, -1];
const dx = [1, -1, 0, 0];
let answer = 0;
visited[R - 1][0] = 1;
DFS(R - 1, 0, 1);
function DFS(ny, nx, count) {
if (ny === 0 && nx === C - 1) {
if (count === K) answer++;
return;
}
for (let i = 0; i < dy.length; i++) {
const [y, x] = [ny + dy[i], nx + dx[i]];
if (y >= 0 && y < R && x >= 0 && x < C && !visited[y][x] && graph[y][x] !== "T") {
visited[y][x] = 1;
DFS(y, x, count + 1);
visited[y][x] = 0;
}
}
}
return answer;
}
console.log(solution(_input));
반응형
LIST
'백준' 카테고리의 다른 글
[백준] 3184번 양 (0) | 2023.07.26 |
---|---|
[백준] 3187번 양치기 꿍 (0) | 2023.07.26 |
[백준] 2644번 촌수계산 (0) | 2023.07.25 |
[백준] 2798번 블랙잭 (0) | 2022.04.12 |
[백준] 1065번 한수 (0) | 2022.04.12 |