[Algorithm] Climbing Stairs
๋ฌธ์ ์ค๋ช
ํ๋ผ๋ฉํฐ๋ก ๋ค์ด์จ n์นธ์ ๊ณ๋จ์ด ์๋ค๊ณ ๊ฐ์ ํด๋ณด์. ๊ณ๋จ์ ํ๋ฒ์ 1์นธ ๋๋ 2์นธ๊น์ง๋ง ์ค๋ฅผ ์ ์๋ค. ์ด ๋ n๋ฒ์งธ ์นธ๊น์ง ๋๋ฌํ๋ ๋ฐฉ๋ฒ์ ์ด ๋ช๊ฐ์ง์ผ๊น?
ex) 3์นธ์ด๋ผ๋ฉด 1, 1, 1
, 2-1
, 1-2
์ด ์ธ ๊ฐ์ง์ ๋ฐฉ๋ฒ์ด ์กด์ฌํ๋ค.
ํผ ๋ฐฉ๋ฒ
func climbStairs(_ n: Int) -> Int {
var result = [1, 1]
for num in 1..<n {
result.append(result[num] + result[num-1])
}
return result.last ?? 0
}
์ดโฆ ์ด๊ฑธ ์ด๋ ๊ฒ ํธ๋ ๊ฑด ์๋์์ ๊ฒ ๊ฐ์๋ฐโฆ 2, 3, 5, 8, 13์ผ๋ก ํผ๋ณด๋์น ์์ด์ฒ๋ผ ๋ต์ด ๋์ค๊ธธ๋ ๋ ๋ค ํผ๋ณด๋์น ํญ์ ๋ฐํํ๋๋ก ๋ฆฌํดํ๋๋ฐ ์ด์ด์์ด ์ ๋ตโฆ. ์๋ ์ด๋ ๊ฒ ํธ๋๊ฑฐ์์๊นโฆ?
Leave a comment