관리 메뉴

MOMONOTE

(JAVA) 백준 2775 부녀회장이 될테야 본문

알고리즘, 코딩테스트/(JAVA)백준

(JAVA) 백준 2775 부녀회장이 될테야

momo0503 2021. 6. 12. 15:48

import java.util.*;

public class Main{
    public static void main(String[] args){
    
    Scanner sc = new Scanner(System.in);

    int[][] arr = new int[15][15]; 
    
    for(int i=0;i<15;i++){
        arr[i][0] = 1;
        arr[0][i] =i+1;
    } //0층 ,  1호 초기화
    
     for(int i=1;i<15;i++){
         
          for(int j=1;j<15;j++){
          
           arr[i][j] = arr[i][j-1] + arr[i-1][j];     //전층 같은 호와 같은층 전 1호의 합
          }          
     }
    
    int testCase = sc.nextInt();
    
    for(int i=1;i<=testCase;i++){
        int k = sc.nextInt();
        int n = sc.nextInt();
    
        System.out.println(arr[k][n-1]);
    }//for
    
//    0층 1호 1    1층 1호 1     2층 1호 1      3층 1호 1
//    0층 2호 2    1층 2호 3     2층 2호 4      3층 2호 5
//    0층 3호 3    1층 3호 6     2층 3호 10     3층 3호 15
//    0층 4호 4    1층 4호 10    2층 4호 20     3층 4호 35
//    0층 5호 5    1층 5호 15    2층 5호 35     3층 5호 70
//    0층 6호 6    1층 6호 21    2층 6호 56     3층 6호 126
//    0층 7호 7    1층 7호 28    2층 7호 84     3층 7호 210
//    0층 8호 8    1층 8호 36    2층 8호 120    3층 8호 330

    }
}

 

백준의 수학문제는 규칙성을 찾는것이 가장 중요한거같다. 

 

규칙은 예를들면  2층 5호의 사람수는 

1층 5호의 사람수 + 2층 4호의 사람수 이다. 

 

- 2중 배열을 이용하여 

- 0층 사람들은 i명 

- 1호 사람들은 1로 초기화를 한다. 

 

- 규칙을 이용하여  arr[i][j] = arr[i][j-1] + arr[i-1][j];  연산을 이용하여 

- 이중배열 arr에 14층 14호까지의 사람수를 전부 구한 후 

 

- 출력한다.

 

'알고리즘, 코딩테스트 > (JAVA)백준' 카테고리의 다른 글

(JAVA) 백준 10250 ACM 호텔  (0) 2021.06.13
(JAVA) 백준 10872 팩토리얼  (0) 2021.06.12
(JAVA) 10757 큰 수 A+B  (0) 2021.06.11
(JAVA) 백준 2292 벌집  (0) 2021.06.09
(JAVA) 백준 1712 손익분기점  (0) 2021.06.09
Comments