[Java] 백준 2775번: 부녀회장이 될테야

U·2023년 3월 18일

백준

목록 보기
29/116

💻 문제


일단 이해하자🤔

  • 0층의 i호에는 i명만큼 살기 때문에 따로 넣어주고 i층의 j호에는 i-1층 1호부터 j호까지 들어가도록 삼중 for문을 돌렸다. 입력받은 층과 호의 사람을 출력하면 완료!

👀 풀이

import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bfw = new BufferedWriter(new OutputStreamWriter(System.out));

        int T = Integer.parseInt(bfr.readLine());
        int floor[][] = new int[15][15];

        for(int i = 0; i <= 14; i++) {
            for(int j = 1; j <= 14; j++) {
                if(i == 0) {
                    floor[i][j] = j;
                }
                else {
                    for(int s = 1; s <= j; s++) {
                        floor[i][j] += floor[i-1][s];
                    }
                }
            }
        }

        for (int i = 0; i < T; i++) {
            int k = Integer.parseInt(bfr.readLine());
            int n = Integer.parseInt(bfr.readLine());

            bfw.write(floor[k][n] + "\n");
        }

        bfr.close();
        bfw.flush();
        bfw.close();
    }
}

💡 결과


아쉬웠던 점••

  • 시간 제한이 적었다면 풀지 못했을 문제인 것 같다. 혹시 반복문 말고 다른 방법으로 접근할 수 있는 방법이 있을지 생각해보는 것도 좋을 것 같다.
profile
백엔드 개발자 연습생

0개의 댓글