λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
개발/π™‹π™§π™€π™œπ™§π™–π™’π™’π™šπ™§π™¨

ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ 'ν”Όλ³΄λ‚˜μΉ˜ 수' 파이썬 풀이

by beomcoder 2023. 2. 21.
728x90
λ°˜μ‘ν˜•
 

ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€

μ½”λ“œ μ€‘μ‹¬μ˜ 개발자 μ±„μš©. μŠ€νƒ 기반의 ν¬μ§€μ…˜ λ§€μΉ­. ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€μ˜ 개발자 λ§žμΆ€ν˜• ν”„λ‘œν•„μ„ λ“±λ‘ν•˜κ³ , λ‚˜μ™€ 기술 ꢁ합이 잘 λ§žλŠ” 기업듀을 λ§€μΉ­ λ°›μœΌμ„Έμš”.

programmers.co.kr

"""
ν”Όλ³΄λ‚˜μΉ˜ μˆ˜λŠ” 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을 μ™„μ„±ν•΄ μ£Όμ„Έμš”.
"""

def solution(n):
    fibo = [0,1]
    
    for i in range(1, n):
        fibo.append(sum(fibo[-2:]))
        
    return fibo[-1]%1234567

"""
ν”Όλ³΄λ‚˜μΉ˜λŠ” 2번째 μ „μ˜ 숫자, 1번째 μ „μ˜ 숫자λ₯Ό λ”ν•œ 값이닀.
0λ²ˆμ§Έμ™€ 1λ²ˆμ§ΈλŠ” 0,1이라고 ν–ˆμœΌλ―€λ‘œ fibo = [0,1]으둜 μ„ΈνŒ…ν•œλ‹€.
그리고 nκΉŒμ§€ fibo에 2번째 μ „, 1번째 μ „μ˜ 숫자λ₯Ό λ”ν•œ 값을 μΆ”κ°€ν•œλ‹€.

λ§ˆμ§€λ§‰μ˜ μˆ«μžμ— 1234567둜 λ‚˜λˆˆ λ‚˜λ¨Έμ§€κ°’μ„ λ¦¬ν„΄ν•œλ‹€.
"""
728x90
λ°˜μ‘ν˜•

λŒ“κΈ€