문제 이해
예를들면 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
'알고리즘 > 백준알고리즘' 카테고리의 다른 글
[백준 알고리즘/Python3] 2581 소수 (0) | 2021.10.03 |
---|---|
[백준 알고리즘/Python3] 2839 설탕배달 (0) | 2021.09.27 |
[백준 알고리즘/Python3] 10250 ACM호텔 (0) | 2021.09.06 |
[백준 알고리즘/Python3] 2869 달팽이는 올라가고 싶다. (0) | 2021.09.05 |
[백준 알고리즘/Python3] 1193 분수찾기 (0) | 2021.09.04 |