티스토리 뷰

재귀 - 결과는 맞지만 시간 초과로 실패

def apartment(k, n):
    if k == 0:
        return n
    people = 0
    for i in range(1, n + 1):
        people += apartment(k - 1, i)
    return people


for _ in range(int(input())):
    k = int(input())
    n = int(input())
    print(apartment(k, n))

반복문

for _ in range(int(input())):
    k = int(input())
    n = int(input())
    people = [i for i in range(1, n + 1)]  # 0층
    for _ in range(k):
        for i in range(1, n):
            people[i] += people[i - 1]
    print(people[-1])

0층의 값을 넣은 리스트를 생성하고 반복문을 이용하여 1층부터 각 층별로 인원을 구한다. 리스트의 가장 마지막 값이 k층 n호에 사는 사람의 수이므로 마지막 값을 출력한다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
글 보관함