๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“– Problem Solution/Programmers

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฉ€๋ฆฌ ๋›ฐ๊ธฐ Swift

by Fomagran ๐Ÿ’ป 2020. 12. 29.
728x90
๋ฐ˜์‘ํ˜•

Source Code


func solution(_ n:Int) -> Int {
//์ดˆ๊ธฐ๊ฐ’ ์„ค์ •
var dp = [0,1,2]
//n์ด 3๋ณด๋‹ค ์ž‘๋‹ค๋ฉด
if n < 3 {
//dp์˜ n-1๋ฒˆ์งธ
return dp[n]
}
//3๋ถ€ํ„ฐ n๊นŒ์ง€ ํƒ์ƒ‰
for _ in 3...n {
//dp์— 0์„ ์ถ”๊ฐ€ํ•ด์คŒ
dp.append(0)
//dp์˜ ๊ฐ’์„ (dp -1 + dp -2)์—์„œ 1234567๋กœ ๋‚˜๋ˆ ์ค€ ๊ฐ’์œผ๋กœ ์„ค์ •
dp[dp.count-1] = (dp[dp.count-2] + dp[dp.count-3])%1234567
}
//dp์˜ ๋งจ ๋งˆ์ง€๋ง‰๋ฒˆ์งธ ๊ฐ’์„ ๋ฐ˜ํ™˜
return dp.last!
}

Solution


์ด๋ฒˆ ๋ฌธ์ œ๋Š” ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๊ด€ํ•œ ๋ฌธ์ œ์˜€๋‹ค.

 

1.0๋ฒˆ์งธ 1๋ฒˆ์งธ 2๋ฒˆ์งธ์— ๋Œ€ํ•œ ์ดˆ๊ธฐ๊ฐ’์„ ์„ค์ •ํ•ด์ค€๋‹ค.

 

2.0๋ฒˆ์งธ 1๋ฒˆ์งธ 2๋ฒˆ์งธ๋ฅผ ์ด์šฉํ•ด์„œ ..n๋ฒˆ์งธ๊นŒ์ง€ ๊ฐ’์„ ๊ตฌํ•˜๋ฉด์„œ ๊ทœ์น™์„ ์ฐพ์•„๋‚ธ๋‹ค.

 

ํ•ด๋‹น ๋ฌธ์ œ๋Š” F(n) = F(n-1) + F(n-2)์˜ ๊ทœ์น™์ด ์žˆ์—ˆ๋‹ค.

 

์ฒ˜์Œ์—” ์ด๋ ‡๊ฒŒ ์ œ์ถœํ–ˆ๋Š”๋ฐ ๊ฑฐ์˜ ์ ˆ๋ฐ˜์ด ํ‹€๋ฆฌ๋Š”๊ฑฐ๋‹ค.

 

๋ฌธ์ œ๋ฅผ ์ž์„ธํžˆ ์ฝ์–ด๋ณด๋‹ˆ ๊ตฌํ•œ ๊ฐ’์— 1234567๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๊ฐ’์œผ๋กœ ํ•˜๋ผ๊ณ  ๋˜์–ด์žˆ์—ˆ๋‹ค.

 

๊ณ ๋กœ F(n) = (F(n-1) + F(n-2))%1234567 ์ด๋‹ค.

Problem


 

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋ฉ€๋ฆฌ ๋›ฐ๊ธฐ

ํšจ์ง„์ด๋Š” ๋ฉ€๋ฆฌ ๋›ฐ๊ธฐ๋ฅผ ์—ฐ์Šตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํšจ์ง„์ด๋Š” ํ•œ๋ฒˆ์— 1์นธ, ๋˜๋Š” 2์นธ์„ ๋›ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์นธ์ด ์ด 4๊ฐœ ์žˆ์„ ๋•Œ, ํšจ์ง„์ด๋Š” (1์นธ, 1์นธ, 1์นธ, 1์นธ) (1์นธ, 2์นธ, 1์นธ) (1์นธ, 1์นธ, 2์นธ) (2์นธ, 1์นธ, 1์นธ) (2์นธ, 2

programmers.co.kr

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€