철수는 학교에 가는데 개울을 만났습니다. 개울은 N개의 돌로 다리를 만들어 놓았습니다. 철 수는 돌 다리를 건널 때 한 번에 한 칸 또는 두 칸씩 건너뛰면서 돌다리를 건널 수 있습니다. 철수가 개울을 건너는 방법은 몇 가지일까요?
▣ 입력설명
첫째 줄은 돌의 개수인 자연수 N(3≤N≤45)이 주어집니다.
▣ 출력설명
첫 번째 줄에 개울을 건너는 방법의 수를 출력합니다.
▣ 입력예제 1
7
▣ 출력예제 1
34
#import sys
#sys.stdin = open('in.txt', 'rt')
if __name__ == '__main__':
n = int(input())
print(f'n:{n}')
# 돌 개수가 n개 이지만, 개울을 건널러면 n+1 까지 도달해야 한다
res = [0]*(n+1)
res[0] = 1
res[1] = 2
# 돌 개수가 n개 이지만, 개울을 건널러면 n+1 까지 도달해야 한다
for i in range(2, n+1):
res[i] = res[i-1]+res[i-2]
print(res[n])
'Algorithm > Python' 카테고리의 다른 글
077 - 최대 선 연결하기 (0) | 2023.10.21 |
---|---|
076 - 최대 부분 증가수열 (0) | 2023.10.18 |
074 - 계단오르기(Top-Down : 메모이제이션) (1) | 2023.10.14 |
073 - 동적계획법이란? 네트워크 선 자르기(Bottom-Up)/(Top-Down : 재귀, 메모이제이션) (0) | 2023.10.14 |
072 - 피자 배달 거리(삼성 SW역량평가 기출문제 : DFS활용) (1) | 2023.10.14 |