본문 바로가기

알고리즘/백준알고리즘

[백준 알고리즘/Python3] 2775 부녀회장이 될테야

문제 이해

 

예를들면 203호의 사람 수를 알고싶다면

101호 + 102호 + 103호 의 사람을 더하면 된다.

 

103호의 사람 수를 알고싶다면

001호 + 002호 + 003호의 사람을 더하면 된다.

 

처음 0층의 배열을 1~14까지 만든다.

 

그리고 인덱스를 활용해 현재 인덱스와 전의 인덱스를 더하면된다.

 

코드

test_case = int(input())

for _ in range(test_case):
    
    k = int(input())
    n = int(input())
    f0 = [x+1 for x in range(14)]
    for i in range(k):
        for j in range(1,n):
            f0[j] += f0[j-1]

    print(f0[n-1])

제일 밖에 for문은 테스트 케이스를 받는다.

 

k는 층 ,n은 동이다.

 

f0는 1~14까지의 0층의 리스트이다.

 

층의 수만큼 밖깥 for문을 돌고

안에는 동의 인덱스를 활용해서 마치 피보나치 수열처럼 동작한다.

 

마지막으로 동의 위치는 f0의 -1한  인덱스이다.

728x90