문제 : 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));
'Problem Solving > boj.kr (JS)' 카테고리의 다른 글
[BOJ / 자바스크립트] 10250 ACM 호텔 (0) | 2022.07.11 |
---|---|
[BOJ / 자바스크립트] 2869 달팽이는 올라가고 싶다 (0) | 2022.07.11 |
[BOJ / 자바스크립트] 1193 : 분수찾기 (0) | 2022.07.11 |
[BOJ / 자바스크립트] 2292 : 벌집 (0) | 2022.03.13 |
[BOJ / 자바스크립트] 1712 : 손익분기점 (0) | 2022.03.12 |
댓글