File tree Expand file tree Collapse file tree 1 file changed +23
-8
lines changed Expand file tree Collapse file tree 1 file changed +23
-8
lines changed Original file line number Diff line number Diff line change 1+ /**
2+ * Source: https://leetcode.com/problems/climbing-stairs/description/
3+ * ์์ : ๋์ ํ๋ก๊ทธ๋๋ฐ(DP) ์ ๊ทผ๋ฒ - ํผ๋ณด๋์น ์์ด๊ณผ ์ ์ฌ
4+ * ํ์ด ์๊ฐ: 25๋ถ
5+ * ์๊ฐ๋ณต์ก๋: O(n) - ๋ง์ง๋ง ๊ฒฐ๊ณผ๊ฐ์ ์ป๊ธฐ์ํด n๋ฒ ๋ฐ๋ณต
6+ * ๊ณต๊ฐ๋ณต์ก๋: O(1) - ์์ ๊ณต๊ฐ๋ง ์ฌ์ฉ
7+ */
18function climbStairs ( n : number ) : number {
2- let result = 0 ;
3- let step1 = 1 ;
4- let step2 = 0 ;
9+ // ์ฃ์ง ์ผ์ด์ค๋ฅผ ์ฌ์ ์ ์ฒ๋ฆฌ(๊ฐ์ง์น๊ธฐ)
10+ if ( n <= 0 ) return 0 ;
11+ if ( n === 1 ) return 1 ;
512
6- for ( let i = 0 ; i < n ; i ++ ) {
7- result = step1 + step2 ;
8- step2 = step1 ;
9- step1 = result ;
13+ // ํผ๋ณด๋์น ์์ด ๊ณ์ฐ์ ์ํ ๋ณ์
14+ let current = 1 ; // n=1์ผ ๋ ๋ฐฉ๋ฒ์ ์ (์ฒซ ๋ฒ์งธ ํผ๋ณด๋์น ์)
15+ let prev = 1 ; // n=0์ผ ๋ ๋ฐฉ๋ฒ์ ์ (์ด๊ธฐ๊ฐ)
16+ let temp ; // ๊ตํ์ ์ํ ์์ ๋ณ์
17+
18+ // i๋ 2๋ถํฐ ์์ํ์ฌ n๊น์ง ๋ฐ๋ณต
19+ for ( let i = 2 ; i <= n ; i ++ ) {
20+ // ํ์ฌ ๊ณ๋จ์ ๋๋ฌํ๋ ๋ฐฉ๋ฒ์ ์ = ์ด์ ๋ ๊ณ๋จ์ ๋๋ฌํ๋ ๋ฐฉ๋ฒ์ ์์ ํฉ
21+ temp = current ;
22+ current = current + prev ;
23+ prev = temp ;
1024 }
11- return result ;
25+
26+ return current ;
1227}
You canโt perform that action at this time.
0 commit comments