문제
알고리즘 고민
약간 DP 같은느낌도 나는 쉬운 문제였다. 아래층부터 점차 더해가면서 건물내부의 사람을 만드는 방법을 택했다.
문제의 조건 대로 0층에 먼저 사람들을 1호부터 1명씩 배치했다. 그 후 2층부터 1호일때는 그 바로 밑층의 사람 수인 1을 넣어주고 그 다음부터는 같은층 전호수 사람 + 아래층 같은호수 사람의 수를 더해서 만들어 나아갔다.
최대 크기인 15 15 배열로 먼저 만들어 놓은 후에 층과 호수를 입력받아 바로바로 배열에서 찾아서 입력해주었다.
JAVA Code
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine());
int[][] building = new int[15][15];
for (int i = 1; i < building[1].length; i++) {
building[0][i] = i;
}
for (int i = 1; i < building.length; i++) {
building[i][1] = 1;
for (int j = 2; j < building[i].length; j++) {
building[i][j] = building[i][j - 1] + building[i - 1][j];
}
}
StringBuffer sb = new StringBuffer();
while (T-- > 0) {
int k = Integer.parseInt(br.readLine());
int n = Integer.parseInt(br.readLine());
sb.append(building[k][n]).append('\n');
}
System.out.print(sb.toString().strip());
}
}
'Algorithm > BOJ' 카테고리의 다른 글
[BOJ] 10757번 : 큰 수 A+B (JAVA/자바) (0) | 2022.03.11 |
---|---|
[BOJ] 2839번 : 설탕 배달 (JAVA/자바) (0) | 2022.03.11 |
[BOJ] 10250번 : ACM 호텔 (JAVA/자바) (0) | 2022.03.10 |
[BOJ] 2869번 : 달팽이는 올라가고 싶다 (JAVA/자바) (0) | 2022.03.10 |
[BOJ] 1193번 : 분수찾기 (JAVA/자바) (0) | 2022.03.10 |