Skip to content

Commit 5e35f9c

Browse files
committed
add solution : 62. Unique Paths
1 parent 89edeec commit 5e35f9c

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

โ€Žunique-paths/mmyeon.tsโ€Ž

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
/**
2+
* @link https://leetcode.com/problems/unique-paths/
3+
*
4+
* ์ ‘๊ทผ ๋ฐฉ๋ฒ• :
5+
* - ์‹œ์ž‘๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๋ˆ„์ ๋œ ๊ฒฝ๋กœ์˜ ์ˆ˜ ์ฐพ์•„์•ผ ํ•˜๋‹ˆ๊นŒ dp ์‚ฌ์šฉ
6+
* - ์ฒซ ๋ฒˆ์งธ ํ–‰๊ณผ, ์ฒซ ๋ฒˆ์งธ ์—ด์€ 1๋กœ ๊ณ ์ •์ด๋ผ์„œ dp ๋ฐฐ์—ด์„ 1๋กœ ์ดˆ๊ธฐํ™”ํ•จ
7+
* - ์ ํ™”์‹ : dp[x][y] = dp[x-1][y] + dp[x][y-1]
8+
*
9+
* ์‹œ๊ฐ„๋ณต์žก๋„ : O(m * n)
10+
* - m * n ํ–‰๋ ฌ ํฌ๊ธฐ๋งŒํผ ์ˆœํšŒํ•˜๋‹ˆ๊นŒ O(m * n)
11+
*
12+
* ๊ณต๊ฐ„๋ณต์žก๋„ : O(m * n)
13+
* - ์ฃผ์–ด์ง„ ํ–‰๋ ฌ ํฌ๊ธฐ๋งŒํผ dp ๋ฐฐ์—ด์— ๊ฐ’ ์ €์žฅํ•˜๋‹ˆ๊นŒ O(m * n)
14+
*/
15+
function uniquePaths(m: number, n: number): number {
16+
// m x n ๋ฐฐ์—ด ์„ ์–ธ
17+
const dp = Array.from({ length: m }, () => Array(n).fill(1));
18+
19+
for (let i = 1; i < m; i++) {
20+
for (let j = 1; j < n; j++) {
21+
dp[i][j] = dp[i - 1][j] + dp[i][j - 1];
22+
}
23+
}
24+
25+
return dp[m - 1][n - 1];
26+
}
27+
28+
// ๊ณต๊ฐ„ ๋ณต์žก๋„๋ฅผ O(n)์œผ๋กœ ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•ด์„œ 1์ฐจ์› dp ๋ฐฐ์—ด ์‚ฌ์šฉ
29+
function uniquePaths(m: number, n: number): number {
30+
// m x n ๋ฐฐ์—ด ์„ ์–ธ
31+
const rows = Array(n).fill(1);
32+
33+
for (let i = 1; i < m; i++) {
34+
for (let j = 1; j < n; j++) {
35+
rows[j] = rows[j] + rows[j - 1];
36+
}
37+
}
38+
39+
return rows[n - 1];
40+
}

0 commit comments

Comments
ย (0)