n(호)가 최대 14호까지 조건이 되어있길래 이중 리스트로 한 층당 14호까지 인덱스를 만들어야 하나.. 고민했다.
예를 들어 apart = [[1층 1~14호], [2층 1~14호], ..., [?층 1~14호]]
처럼 말이다.
그런데 어차피 k와 n을 입력받으면, 0~k층마다 각각 n개의 호수가 있는거나 다름없었다.
k = 2, n = 3 일 때를 예로 들면,
apart = [[1, 2, 3],
[1, 3, 6],
[1, 4, 10]]
이렇게 나오면 된다. 하지만 저렇게 모든 층이 출력되는 것이 아니고 한 층을 계속 바꿔주는 것이다.
결론적으로 마지막 apart 리스트 값은 아래와 같이 나와야 한다.
apart = [1, 4, 10]
<풀이>
따라서 0층도 n호 까지만 미리 만들어두고, k와 n 이중 for문을 돌렸다.
import sys
input = sys.stdin.readline
t = int(input())
for _ in range(t):
k = int(input()) # 층
n = int(input()) # 호
f = [x for x in range(1, n+1)]
for i in range(k):
for j in range(1, n):
f[j] += f[j-1]
print(f[-1])
성공 !! 😜