백준(Python) 풀이/다이나믹 프로그래밍

백준(Python) 9625번 BABBA 풀이

개발윗미 2021. 10. 27. 11:44

Python으로 구현한 9625번 BABBA 문제 풀이입니다.

 

https://www.acmicpc.net/problem/9625

 

9625번: BABBA

상근이는 길을 걷다가 신기한 기계를 발견했다. 기계는 매우 매우 큰 화면과 버튼 하나로 이루어져 있다. 기계를 발견했을 때, 화면에는 A만 표시되어져 있었다. 버튼을 누르니 글자가 B로 변했

www.acmicpc.net


k = int(input())

fibo = [0] * (k + 1)
fibo[1] = 1

for i in range(2, k + 1) :
  fibo[i] = fibo[i-1] + fibo[i-2]

print(fibo[k-1], fibo[k])

 

피보나치 수열 방식을 통해 문제를 해결할 수 있다.

 

fibo 리스트의 0번째 인덱스의 값은 0이 되고, 1번째 인덱스의 값은 1로 초기화한다.

 

반복문을 통해 리스트의 2번째 인덱스부터 하여 i-1번째 인덱스 값과 i-2번째 인덱스 값을 더하여 그 값을 현재

 

인덱스 값에 할당한다. 이와 같은 방식을 k + 1 까지 수행하여 반복문이 종료되면

 

fibo 리스트의 k-1번째 값과 k번째 값을 출력한다.