Algorithm/Programmers
[Programmers] νΌλ³΄λμΉ μ
Earth Wave
2022. 4. 14. 01:53
λ¬Έμ
νΌλ³΄λμΉ μλ F(0) = 0, F(1) = 1μΌ λ, 1 μ΄μμ nμ λνμ¬ F(n) = F(n-1) + F(n-2) κ° μ μ©λλ μ μ λλ€.
μλ₯Όλ€μ΄
- F(2) = F(0) + F(1) = 0 + 1 = 1
- F(3) = F(1) + F(2) = 1 + 1 = 2
- F(4) = F(2) + F(3) = 1 + 2 = 3
- F(5) = F(3) + F(4) = 2 + 3 = 5
μ κ°μ΄ μ΄μ΄μ§λλ€.
2 μ΄μμ nμ΄ μ λ ₯λμμ λ, nλ²μ§Έ νΌλ³΄λμΉ μλ₯Ό 1234567μΌλ‘ λλ λλ¨Έμ§λ₯Ό 리ν΄νλ ν¨μ, solutionμ μμ±ν΄ μ£ΌμΈμ.
μ ν μ¬ν
- nμ 2 μ΄μ 100,000 μ΄νμΈ μμ°μμ λλ€.
ν΄μ€ μ½λ
def solution(n):
answer = []
for i in range(n+1):
if i == 0 or i == 1:
answer.append(i)
else:
f = answer[i-2] + answer[i-1]
answer.append(f%1234567)
return answer[-1]
λΆμ > μ΄ λ¬Έμ λ₯Ό ν΅ν΄ νΌλ³΄λμΉ μμ λν κ°λ μ μ‘μ μ μμλ€. μ°μ 0λ²μ§Έμ 1λ²μ§Έλ κ·μΉμ μκ΄μμ΄ i κ°μ΄ κ·Έλλ‘ input λλ―λ‘ λ°λ‘ 쑰건μ λΉΌμ μ μ΄μ£Όκ³ 3λ²μ§Έ μλΆν°λ κ·μΉμ λ°λΌ κ·Έ λ€μ μκ° append λκΈ° λλ¬Έμ κ·μΉμ μ μ΄μ λ°λ³΅λ¬Έμ λλ €μ£Όλ©΄ λλ€.
μ½λ©ν μ€νΈ μ°μ΅ - νΌλ³΄λμΉ μ
νΌλ³΄λμΉ μλ F(0) = 0, F(1) = 1μΌ λ, 1 μ΄μμ nμ λνμ¬ F(n) = F(n-1) + F(n-2) κ° μ μ©λλ μ μ λλ€. μλ₯Όλ€μ΄ F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) =
programmers.co.kr