t = int(input()) # t = 2
for _ in range(t):
k = int(input()) # k = 1, 2
n = int(input()) # n = 3, 3
num = [i for i in range(1, n + 1)] # [1, 2, 3], [1, 2, 3]
for _ in range(k):
for i in range(1, n):
num[i] += num[i - 1] # [1, 3, 6] -> [1, 4, 10]
print(num[-1])
풀이
3층
1
5
15
35
2층
1
4
10
20
1층
1
3
6
10
0층
1
2
3
4
.
1호
2호
3호
4호
위와 같이 0층부터 num[i][j] = num[i-1][j] + num[i][j-1]의 규칙이 있다는 것을 알고
변수 t를 설정해서 테스트 케이스의 수를 입력 받고, 그 수만큼 for문을 돌리고
변수 k로 층을 입력받고, n으로 호를 입력받았다.
다음으로 0층을 나타내는 변수 num를 설정해서 규칙이 시작되는 [1, 2, 3]을
1부터 n까지 돌려 [1, 2, 3], [1, 2, 3] 두 개를 만들었다.
그리고 for문을 사용해서 층을 나타내는 변수 k 반복하고
그 안에 이중 for문으로 1호를 제외한 2호, 3호, 4호 .. 을 바꾸기 위해서
num[i] = num[i] + num[i - 1]
위와 같이 "1호부터 b호까지 사람들의 수의 합만큼"의 조건을 충족시킬 수 있는 코드를 짰다.