Skip to content

Commit 4d1a34e

Browse files
committed
add: solve #273 Unique Paths with ts
1 parent 56276d2 commit 4d1a34e

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

โ€Žunique-paths/Yjason-K.tsโ€Ž

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
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+

0 commit comments

Comments
ย (0)