Problem Solving/boj.kr (JS)
[BOJ / 자바스크립트] 2775 : 부녀회장이 될테야
hoiiiii
2022. 7. 11. 22:48
문제 : https://www.acmicpc.net/problem/2775
2775번: 부녀회장이 될테야
첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다
www.acmicpc.net
Sol )
- 테스트케이스의 개수가 몇 개 인지 알 수 없으므로 초기에 모든 층의 인원 정보를 미리 구해놓는다.
- r(층), c(호), r>=1, c>=1 일 때 : r층 c호의 인원수 = r층 c-1호 인원 + r-1층 c호 인원
- 주의 : 0 층부터 시작
소스코드 )
const [...args] = require("fs").readFileSync("/dev/stdin").toString().split("\n").slice(1, -1).map(Number);
const getRoomInfo = () => {
const arr = Array.from(Array(15), () => new Array(15).fill(1));
for (let i = 0; i < 15; i++) {
arr[0][i] = i + 1;
}
for (let r = 1; r < 15; r++) {
for (let c = 1; c < 15; c++) {
arr[r][c] = arr[r][c - 1] + arr[r - 1][c];
}
}
return arr;
};
const solution = (args) => {
if (!args) {
return "";
}
const arr = getRoomInfo();
const answer = [];
for (let i = 0; i < args.length; i += 2) {
const [k, n] = [args[i], args[i + 1] - 1];
answer.push(arr[k][n]);
}
return answer.join("\n");
};
console.log(solution(args));