๐Ÿงฉ Algorithm/[Programmers] Level 2

[Programmers] L2. ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜ (Python)

devCloud 2024. 11. 10. 17:17
728x90

[๋ฌธ์ œ ๋งํฌ] ๐Ÿ‘‡

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

SW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„

programmers.co.kr


ํ’€์ด ๋ฐฉ๋ฒ•

๐Ÿ’ก fibo[0] = 0, fibo[1] = 1 ๋ฏธ๋ฆฌ ์ •์˜

 

ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์—์„œ ์ฒซ ๋‘ ํ•ญ, ์ฆ‰ fibo[0] = 0๊ณผ fibo[1] = 1์€ ์‹œ์ž‘๊ฐ’์ด์ž ์ˆ˜์—ด์˜ ์ •์˜์— ํ•ด๋‹นํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋”ฐ๋กœ ์ €์žฅํ•œ๋‹ค. ์ด๋“ค์€ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์„ ๊ณ„์‚ฐํ•˜๋Š” ๊ธฐ์ดˆ๊ฐ€ ๋œ๋‹ค. ์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • ์žฌ๊ท€์  ์ •์˜ : ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์€ F(n) = F(n − 1) + F(n − 2) ๋กœ ์ •์˜๋˜๋ฉฐ, ๊ณผ F(1) = 1 ์ด ์—†์œผ๋ฉด ์ดํ›„์˜ ๋ชจ๋“  ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•  ์ˆ˜ ์—†๋‹ค. fibo[0]๊ณผ fibo[1]์ด ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š์œผ๋ฉด, ์žฌ๊ท€์  ์—ฐ์‚ฐ์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†๊ฒŒ ๋œ๋‹ค.

๋”ฐ๋ผ์„œ 0๊ณผ 1์€ ๋จผ์ € ๋”ฐ๋กœ ์ €์žฅํ•˜๊ณ , 2๋ถ€ํ„ฐ ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ฆฐ๋‹ค.

Solution

def solution(n):
    fibo = [0]*(n + 1)

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

    return fibo[n] % 1234567

 

๐Ÿ“Œ 1234567๋กœ ๋‚˜๋ˆ„๋Š” ์ด์œ  ?

  • ๊ฐ’์˜ ํฌ๊ธฐ ์ œํ•œ
    • ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜๋Š” ์ˆœ์„œ๊ฐ€ ์ปค์งˆ์ˆ˜๋ก ๋งค์šฐ ๋น ๋ฅด๊ฒŒ ์ฆ๊ฐ€ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ํฐ ์ˆซ์ž๋ฅผ ๊ณ„์‚ฐํ•˜๋‹ค ๋ณด๋ฉด ๋ฉ”๋ชจ๋ฆฌ์™€ ์—ฐ์‚ฐ ์‹œ๊ฐ„ ๋ชจ๋‘ ๋ถ€๋‹ด์ด ๋œ๋‹ค. 10^๋ฒˆ์งธ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜๋Š” ์ˆ˜์‹ญ๋งŒ ์ž๋ฆฌ์˜ ์ˆ˜๋กœ, ๊ณ„์‚ฐ๊ณผ ์ €์žฅ์ด ์–ด๋ ต๋‹ค. ๋”ฐ๋ผ์„œ ๊ฒฐ๊ณผ๋ฅผ 1234567๋กœ ๋‚˜๋ˆ„์–ด ๊ณ„์‚ฐํ•˜๋ฉด ๊ฐ’์ด ์ž‘์•„์ ธ์„œ ๋” ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์œผ๋กœ ์—ฐ์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฌธ์ œ์˜ ํŠน์„ฑ (๋ชจ๋“ˆ๋Ÿฌ ์—ฐ์‚ฐ)
    • ๋งŽ์€ ๋ฌธ์ œ์—์„œ ๊ฐ’์ด ๋งค์šฐ ์ปค์งˆ ๋•Œ๋Š” ํŠน์ • ์ˆ˜๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐฉ์‹์ด ์‚ฌ์šฉ๋œ๋‹ค. ํŠนํžˆ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์ฒ˜๋Ÿผ ์ฆ๊ฐ€ ์†๋„๊ฐ€ ๋งค์šฐ ๋น ๋ฅธ ๊ฒฝ์šฐ ๋ชจ๋“ˆ๋Ÿฌ ์—ฐ์‚ฐ์„ ํ†ตํ•ด ๊ฒฐ๊ณผ์˜ ํฌ๊ธฐ๋ฅผ ์กฐ์ ˆํ•˜๋Š” ๊ฒƒ์€ ์ผ๋ฐ˜์ ์ด๋‹ค.

๋”ฐ๋ผ์„œ 1234567๋กœ ๋‚˜๋ˆ„๋Š” ์ด์œ ๋Š” ๊ฐ’์˜ ํฌ๊ธฐ ์ œํ•œ๊ณผ ๋ชจ๋“ˆ๋Ÿฌ ์—ฐ์‚ฐ ๊ทœ์น™์„ ๋”ฐ๋ฅธ ์š”๊ตฌ์‚ฌํ•ญ ๋•Œ๋ฌธ์ด๋‹ค.

 


 

728x90