포스트

부녀회장이 될테야(2775)

부녀회장이 될테야(2775)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import java.io.*;
import java.util.*;

public class Main{
  public static void main(String[] args) throws IOException {
    
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
    StringBuilder sb = new StringBuilder();
    // StringTokenizer st = new StringTokenizer(br.readLine());

    int t = Integer.parseInt(br.readLine());
    
    while(t-- > 0){
      int k = Integer.parseInt(br.readLine()); // 층
      int n = Integer.parseInt(br.readLine()); // 호
      
      int[][] arr = new int[k+1][n+1];
      for(int i = 0; i <= k; i++){
        for(int j = 1; j <= n; j++){
          if(i == 0){
            arr[i][j] = j;
          } else {
            arr[i][j] = arr[i-1][j] + arr[i][j-1];
          }
        }
      }
        
      sb.append(arr[k][n] + "\n");
        
    }    
    
    bw.write(sb.toString());
    bw.flush();
    bw.close();
    br.close();
  }
}

풀이과정

1) 4층 4호까지 인원수를 적어보았다. 2) 각 층과 호에 해당하는 사람들을 표로 만들어 보았다 3) 표로 만들며 적다보니 층과 호수의 인원은 ‘한 층 밑의 같은 호수 인원 + 같은 층의 하나 작은 호수’ 라는 규칙을 발견하였다 4) 해당 로직을 코드로 구현하였다.

  • 성공
  • 메모리 : 14556 KB
  • 시간 : 140 ms