728x90
🤖
문제
https://www.acmicpc.net/problem/2775
풀이
const filePath = process.platform === "linux" ? "/dev/stdin" : "../input.txt";
const INPUT_ARR = require("fs")
.readFileSync(filePath)
.toString()
.trim()
.split("\n");
const CASE_NUM = +INPUT_ARR[0];
const CASE_ARR = INPUT_ARR.slice(1);
function familyNum(k, n) {
if (k === 0) {
return n;
}
if (n === 1) {
return 1;
}
return familyNum(k - 1, n) + familyNum(k, n - 1);
}
for (let i = 0; i < CASE_NUM; i++) {
let k = +CASE_ARR[i * 2];
let n = +CASE_ARR[i * 2 + 1];
console.log(familyNum(k, n));
}
1. (line 11~20) 각 호실에 사는 동거인의 수는 바로 아래 호실의 동거인 수와 바로 왼편 호실의 동거인 수의 합과 같습니다. 따라서 재귀함수를 사용하여 문제를 해결할 수 있습니다.
2. (line 22~26) for문으로 주어진 케이스를 돌며, 앞서 정의한 함수의 결과값을 출력합니다.
728x90
'유물 > └ 백준' 카테고리의 다른 글
<백준(node.js)> 10757번: 큰 수 A+B (0) | 2022.02.21 |
---|---|
<백준(node.js)> 2839번: 설탕 배달 (0) | 2022.02.20 |
<백준(node.js)> 10250번: ACM 호텔 (0) | 2022.02.17 |
<백준(node.js)> 2869번: 달팽이는 올라가고 싶다 (0) | 2022.02.16 |
<백준(node.js)> 1193번: 분수찾기 (0) | 2022.02.15 |