본문 바로가기

CS ﹒ Algorithm/Baekjoon

JAVA백준 문제풀이 (6) 2775: 부녀회장이 될테야

 

 

 

난 이 문제의 조건이 1 <= k, 그리고 n <= 14인 줄 알고 배열 크기를 어떻게 정해야하나 엄청나게 골머리를 앓다가 결국 구글에 검색을 했는데, 알고보니 k랑 n 모두 1<= k, n <=14라는 조건에 들어간다는 말이였다..

 

머리가 나쁘면 몸이 고생한다..

 

 

 

 

 

이런 문제 유형은 직접 쓰면서 규칙을 찾는 게 제일 빠른 것 같다.

편하게 계산하려다보면 규칙을 찾을 수 밖에 없다.

 

아파트[층][호실]에 사는 인원 = 아파트[층-1][호실] + 아파트[층][호실-1]이라는 공식이 바로 나온다.

 

 

 

import java.util.Scanner;

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

        int[][] resultArr = new int[15][15];


        for (int i=0; i<T; i++) {
            int inputFloor = scanner.nextInt();
            int inputRoom = scanner.nextInt();

            for (int k=0; k<resultArr.length; k++) {
                for (int j=1; j< resultArr.length; j++) {
                    if (k==0) { resultArr[k][j] = j; }
                    else if (j==1) { resultArr[k][j] = 1; }
                    else { resultArr[k][j] = resultArr[k-1][j] + resultArr[k][j-1]; }
                }
            }

            System.out.println(resultArr[inputFloor][inputRoom]);
        }
    }
}

 

이번 문제는 작성 과정에 코드를 어떻게 작성해야할 지 바로 답이 나오기 때문에 별도의 설명은 없다.

어려운 문제도 아니였는데 너무 많은 시간을 허비했다.. 문제를 잘 읽자.. 😭