File tree Expand file tree Collapse file tree 1 file changed +32
-0
lines changed Expand file tree Collapse file tree 1 file changed +32
-0
lines changed Original file line number Diff line number Diff line change
1
+
2
+ /**
3
+ * m * n ๊ทธ๋ฆฌ๋์์ ์ข์ธก ์๋จ์์ ์ฐ์ธก ํ๋จ๊น์ง ๊ฐ ์ ์๋ ๊ฒฝ๋ก์ ์
4
+ * @param {number } m - ๊ทธ๋ฆฌ๋์ ํ ๊ธธ์ด
5
+ * @param {number } n - ๊ทธ๋ฆฌ๋์ ์ด ๊ธธ์ด
6
+ * @returns {number } ์ฐ์ธก ํ๋จ๊น์ง ๊ฐ ์ ์๋ ๊ฒฝ์ฐ์ ์
7
+ *
8
+ * - ์๊ฐ ๋ณต์ก๋: O(m * n)
9
+ * - m x n ํฌ๊ธฐ์ ๋ฐฐ์ด์ ์ด๊ธฐํํ๊ณ ์ํ
10
+ *
11
+ * - ๊ณต๊ฐ ๋ณต์ก๋: O(m * n)
12
+ * - m x n ํฌ๊ธฐ์ ๋ฐฐ์ด์ ์ฌ์ฉ
13
+ */
14
+ function uniquePaths ( m : number , n : number ) : number {
15
+ // m x n ํฌ๊ธฐ์ ๋ฐฐ์ด์ ์ด๊ธฐํ
16
+ const dp = Array . from ( { length : m } , ( ) => Array ( n ) . fill ( 0 ) ) ;
17
+
18
+ // ์ฒซ ๋ฒ์งธ ์
(0, 0)์ 1๋ก ์ด๊ธฐํ (๊ฒฝ๋ก ์์์ )
19
+ dp [ 0 ] [ 0 ] = 1 ;
20
+
21
+ for ( let i = 0 ; i < m ; i ++ ) {
22
+ for ( let j = 0 ; j < n ; j ++ ) {
23
+ if ( i === 0 && j === 0 ) continue ; // ์์์ ์ ์ด๋ฏธ ์ด๊ธฐํ๋จ
24
+
25
+ // ์์ชฝ๊ณผ ์ผ์ชฝ ๊ฐ์ ๋ํด ํ์ฌ ์
์ ๊ฒฝ๋ก ์ ๊ณ์ฐ
26
+ dp [ i ] [ j ] = ( dp [ i - 1 ] ?. [ j ] || 0 ) + ( dp [ i ] ?. [ j - 1 ] || 0 ) ;
27
+ }
28
+ }
29
+
30
+ return dp [ m - 1 ] [ n - 1 ] ;
31
+ }
32
+
You canโt perform that action at this time.
0 commit comments