ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

728x90

๋ฐฑ์ค€ 15624๋ฒˆ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜ 7 

๋ฌธ์ œ ์œ ํ˜•: DP (๋™์  ๊ณ„ํš๋ฒ•)

 

๋ฌธ์ œ ์ฃผ์˜ํ•  ์ 

Python, JavaScript๋กœ ํ’€์ด์‹œ Top-Down ๋ฐฉ์‹ ์ฆ‰, ์žฌ๊ท€ ๋ฐฉ์‹์œผ๋กœ๋Š” ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

๋˜ํ•œ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ์ˆ˜๊ฐ€ ์ตœ๋Œ€ 100๋งŒ์ธ๋ฐ, Python์€ ์ตœ๋Œ€ 1000๋ฒˆ๊นŒ์ง€ ์žฌ๊ท€ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์žฌ๊ท€ ๋ฐฉ์‹์œผ๋กœ๋Š” ํ’€๋ฆฌ์ง€ ์•Š๋Š”๋‹ค.

๋”ฐ๋ผ์„œ ์ด ๋ฌธ์ œ๋Š” ๋ฉ”๋ชจ์ด์ œ์ด์…˜ + Bottom-Up ๋ฐฉ์‹์œผ๋กœ ํ’€์ดํ•œ๋‹ค.

 

Python ์ฝ”๋“œ

inputN = int(input())
pivoDict = {0:0, 1:1}
def pivo(idx):
if idx in pivoDict:
return pivoDict[idx]
for n in range(2, idx+1):
pivoDict[n] = ((pivo(n-1) % 1000000007) + (pivo(n-2) % 1000000007)) % 1000000007
return pivoDict[idx]
print(pivo(inputN))
view raw 15624.py hosted with โค by GitHub

 

 

JavaScript ์ฝ”๋“œ

pivoDict = {0:0, 1:1}
function pivo(idx){
if(idx in pivoDict){
return pivoDict[idx]
}
else{
for(let n=2; n<idx+1; n++){
pivoDict[n] = ((pivo(n-1)%1000000007) + (pivo(n-2) % 1000000007)) % 1000000007
}
return pivoDict[idx]
}
}
console.log(pivo(1000))
view raw 15624.js hosted with โค by GitHub

 

728x90
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
ยซ   2025/04   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
๊ธ€ ๋ณด๊ด€ํ•จ
250x250