_

Always be tactful

프로그래밍/풀었어, 백준

[Java] 백준 2775번: 2차원 배열

funczun 2025. 1. 14. 01:14
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