import java.io.*;
public class Problem2775 {
public static void main(String[] args) throws IOException {
int[][] rooms = new int[15][15]; // 편의상 호수도 15까지
for (int i = 0; i < 15; i++) {
rooms[0][i] = i + 1; // 0층 전체 호수
rooms[i][0] = 1; // 각 층 1호
}
// 1층 - 14층 전체 호수
for (int i = 1; i < 15; i++) {
for (int j = 1; j < 15; j++) {
rooms[i][j] = rooms[i][j - 1] + rooms[i - 1][j];
}
}
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine());
// k층 n호 인원수
for (int i = 0; i < T; i++) {
int k = Integer.parseInt(br.readLine());
int n = Integer.parseInt(br.readLine());
System.out.println(rooms[k][n - 1]);
}
}
}
- 1 ≤ k, n ≤ 14
키 포인트
층과 호수 모두 14 이하로, 작은 값이기 때문에 2차원 배열로 모든 호수를 저장한 뒤 k, n을 입력받아 해당하는 인원수를 출력하는 방식으로 접근한다.
728x90
'프로그래밍 > 풀었어, 백준' 카테고리의 다른 글
[Java] 백준 11650번: 람다 표현식 (1) | 2025.01.16 |
---|---|
[Java] 백준 2609번: 유클리드 호제법 (1) | 2025.01.15 |
[Java] 백준 15829번: BigInteger (0) | 2025.01.13 |
[Java] 백준 2750번: 오름차순 정렬하기 (0) | 2025.01.09 |
[Java] 백준 2839번: 반복문에 이름 붙이기 (0) | 2025.01.08 |