Java/백준

[Java][2775] 부녀회장이 될거야

tmd1 2022. 8. 7. 16:54

문제:

https://www.acmicpc.net/problem/2775

 

2775번: 부녀회장이 될테야

첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다

www.acmicpc.net

코드:

import java.util.*;

public class Main {
    public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
    	int [][] arr = new int [15][14];
    	
        // 0층에 살기 위한 사람 수
    	for(int i=0;i<14;i++) {
    		arr[0][i] = i+1;
    	}
    	
        // 1층이상에 살기 위한 사람 수
    	for(int i=1;i<=14;i++) {
    		for(int j=0;j<14;j++) {
    			for(int k=0;k<=j;k++) {
    				arr[i][j] += arr[i-1][k]; // (a-1)층의 b호까지 사람 수를 더하여 배열 저장
    			}
    		}
    	}
    	
    	int t = sc.nextInt();
    	
    	while(t --> 0) {
    		System.out.println(arr[sc.nextInt()][sc.nextInt()-1]);
    	}
    	
   
    	
        
    	/* 
        // 배열 확인용
    	for(int i=0;i<15;i++) {
    		for(int j=0;j<14;j++) {
    			System.out.print(arr[i][j]+" ");
    		}
    		System.out.println();
    	}
    	*/
    	
    }
}

2차원 배열을 통해 각 층에 살기 위해 필요한 사람 수를 다 저장하는 방식으로 풀었다.

 

 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 
1 3 6 10 15 21 28 36 45 55 66 78 91 105 
1 4 10 20 35 56 84 120 165 220 286 364 455 560 
1 5 15 35 70 126 210 330 495 715 1001 1365 1820 2380 
1 6 21 56 126 252 462 792 1287 2002 3003 4368 6188 8568 
1 7 28 84 210 462 924 1716 3003 5005 8008 12376 18564 27132 
1 8 36 120 330 792 1716 3432 6435 11440 19448 31824 50388 77520 
1 9 45 165 495 1287 3003 6435 12870 24310 43758 75582 125970 203490 
1 10 55 220 715 2002 5005 11440 24310 48620 92378 167960 293930 497420 
1 11 66 286 1001 3003 8008 19448 43758 92378 184756 352716 646646 1144066 
1 12 78 364 1365 4368 12376 31824 75582 167960 352716 705432 1352078 2496144 
1 13 91 455 1820 6188 18564 50388 125970 293930 646646 1352078 2704156 5200300 
1 14 105 560 2380 8568 27132 77520 203490 497420 1144066 2496144 5200300 10400600 
1 15 120 680 3060 11628 38760 116280 319770 817190 1961256 4457400 9657700 20058300 
1 16 136 816 3876 15504 54264 170544 490314 1307504 3268760 7726160 17383860 37442160

위는 2차원 배열의 값들이다.