CS ﹒ Algorithm/Baekjoon
JAVA백준 문제풀이 (6) 2775: 부녀회장이 될테야
양또띠
2022. 7. 1. 13:35
난 이 문제의 조건이 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]);
}
}
}
이번 문제는 작성 과정에 코드를 어떻게 작성해야할 지 바로 답이 나오기 때문에 별도의 설명은 없다.
어려운 문제도 아니였는데 너무 많은 시간을 허비했다.. 문제를 잘 읽자.. 😭