File tree Expand file tree Collapse file tree 2 files changed +66
-0
lines changed Expand file tree Collapse file tree 2 files changed +66
-0
lines changed Original file line number Diff line number Diff line change 1+ /**
2+ * @description
3+ * ๋์ ํ๋ก๊ทธ๋๋ฐ(Dynamic Programming, DP)์ ์ฌ์ฉํ์ฌ ๊ณ๋จ์ ์ค๋ฅด๋ ๋ฐฉ๋ฒ ์๋ฅผ ๊ณ์ฐํฉ๋๋ค.
4+ * - ์ ํ์: dp[i] = dp[i-1] + dp[i-2]
5+ * - dp[i-1]: ์ด์ ๊ณ๋จ์์ 1๋จ๊ณ ์ฌ๋ผ์จ ๊ฒฝ์ฐ
6+ * - dp[i-2]: ๋ ๊ณ๋จ ์๋์์ 2๋จ๊ณ ์ฌ๋ผ์จ ๊ฒฝ์ฐ
7+ * - ๊ณต๊ฐ ์ต์ ํ๋ฅผ ํตํด ๋ฐฐ์ด ๋์ ๋ ๋ณ์(prev1, prev2)๋ฅผ ์ฌ์ฉํ์ฌ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ค์
๋๋ค.
8+ * @param {number }n step ์
9+ * @returns {number } ๊ณ๋จ ๋๋ฌ ๋ฐฉ๋ฒ ์
10+ */
11+ function climbStairs ( n : number ) : number {
12+ if ( n <= 2 ) return n ;
13+
14+ let prev2 = 1 ; // dp[i-2]
15+ let prev1 = 2 ; // dp[i-1]
16+
17+ for ( let i = 3 ; i <= n ; i ++ ) {
18+ const cur = prev1 + prev2 ; // dp[i] ๊ณ์ฐ
19+ prev2 = prev1 ; // dp[i-2] ๊ฐฑ์
20+ prev1 = cur ; // dp[i-1] ๊ฐฑ์
21+ }
22+
23+ return prev1 ; // dp[n] ๋ฐํ
24+ } ;
25+
Original file line number Diff line number Diff line change 1+ /**
2+ * ๋ ๋ฌธ์์ด์ ๋น๊ตํด์ Anagram ์ฌ๋ถ ํ์ธ
3+ * - ์๊ฐ ๋ณต์ก๋: O(n)
4+ * - ๋ฌธ์์ด ์ํ์ ๋น๊ต ๊ณผ์ ์ ํฌํจํ์ฌ n์ ๋ฌธ์์ด์ ๊ธธ์ด
5+ * - ๊ณต๊ฐ ๋ณต์ก๋: 0(1)
6+ * - ์ํ๋ฒณ ๊ฐ์๊ฐ 26๊ฐ๋ก ๊ณ ์ ์์ ๊ณต๊ฐ
7+ * @param {string } s - ๋ฌธ์์ด s
8+ * @param {string } t - ๋ฌธ์์ด t
9+ * @returns {boolean } - Anagram ์ฌ๋ถ
10+ */
11+ function isAnagram ( s : string , t : string ) : boolean {
12+ // ๋ ๋ฌธ์ด์ ๊ธธ์ด๊ฐ ๋ค๋ฅธ๊ฒฝ์ฐ false ๋ฐํ
13+ if ( s . length !== t . length ) {
14+ return false ;
15+ }
16+
17+ // ๋ฌธ์์ด ์ํ๋ฒณ ์ฌ์ ์ ์ํ ๊ฐ์ฒด ์ ์ธ
18+ let vocabS = { } ;
19+ let vocabT = { } ;
20+
21+ // s ๋ฌธ์์ด์ ๋ํ ์ํ๋ฒณ ์ฌ์ ์์ฑ
22+ for ( const char in s ) {
23+ vocabS = vocabS [ char ] ? vocabS [ char ] + 1 : 1 ;
24+ } ;
25+
26+ // t ๋ฌธ์์ด์ ๋ํ ์ํ๋ฒณ ์ฌ์ ์์ฑ
27+ for ( const char in t ) {
28+ vocabT = vocabT [ char ] ? vocabT [ char ] + 1 : 1 ;
29+ }
30+
31+
32+ // ๋ ๋ฌธ์์ด ์ฌ์ ์ ๋น๊ตํ๋ฉฐ count ๊ฐ ์ผ์น ํ์ง ์์ ๊ฒฝ์ฐ false ๋ฐํ
33+ for ( const char in vocabS ) {
34+ if ( vocabS [ char ] !== vocabT [ char ] ) {
35+ return false ;
36+ }
37+ }
38+
39+ return true ;
40+ } ;
41+
You canโt perform that action at this time.
0 commit comments