๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ”‘ ์•Œ๊ณ ๋ฆฌ์ฆ˜

[LeetCode] 64 _ minimumPathSum

by Tamii 2021. 11. 23.
๋ฐ˜์‘ํ˜•

๋‚˜์˜ ํ’€์ด

var minPathSum = function (grid) {
  let mLen = grid.length;
  let nLen = grid[0].length;

  const DP = [...new Array(mLen)].map(() => []);

  DP[0][0] = grid[0][0];

  for (let i = 0; i < mLen; i++) {
    for (let j = 0; j < nLen; j++) {
      if (i === 0 && j === 0) DP[i][j] = grid[i][j];
      // ์šฐ์ธก ๋ฐฉํ–ฅ
      else if (j === 0) DP[i][j] = grid[i][j] + DP[i - 1][j];
      // ํ•˜๋‹จ ๋ฐฉํ–ฅ
      else if (i === 0) DP[i][j] = grid[i][j] + DP[i][j - 1];
      // ๋Œ€๊ฐ์„  ๋ฐฉํ–ฅ
      else {
        DP[i][j] = grid[i][j] + Math.min(DP[i][j - 1], DP[i - 1][j]);
      }
    }
  }
  return DP[mLen - 1][nLen - 1];
};

 

1. DP ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•œ ํ›„

์ฐธ๊ณ ๋กœ new Array(3).fill([]) ์„ ํ•˜๋ฉด DP[ [1] , [1] , [1] ] ์ด๋ ‡๊ฒŒ ๊ฐ ๋ฐฐ์—ด์˜ ๊ฐ’์ด ๋ณต์‚ฌ๋˜๋ฏ€๋กœ ์œ„์™€ ๊ฐ™์ด ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค.

2. DP์— ์•Œ๋งž์€ ๊ฐ’์„ ๋„ฃ์–ด์ฃผ๋Š”๋ฐ

 

 

์šฐ์ธก ๋ฐฉํ–ฅ

ํ•˜๋‹จ ๋ฐฉํ–ฅ

๊ทธ์™ธ ๋ฐฉํ–ฅ

๊ฒฝ์šฐ์— ๋”ฐ๋ผ ๋‚˜๋ˆ ์„œ DP[i][j]์— ๊ฐ’์„ ์ฑ„์›Œ๋„ฃ๋Š”๋‹ค.

 

 

 

 

 

ํ•ด๋‹น ๋ฌธ์ œ๋Š” ์ฝ”๋“œ์—†๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ณด๊ณ  ์ถ”๊ฐ€์ ์œผ๋กœ ํ•™์Šตํ–ˆ์Šต๋‹ˆ๋‹ค.

'๐Ÿ”‘ ์•Œ๊ณ ๋ฆฌ์ฆ˜' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[LeetCode] 125_Palindrome  (0) 2021.12.07
[LeetCode] 28_ImplementstrStr -JavaScript  (0) 2021.12.02
[LeetCode] 746 Min Cost Climbing Stairs-javascript  (0) 2021.11.20
[codility] JS Lv4-3 MaxCounter  (0) 2021.09.24
[codility] JS Lv4-1 ForgRiverOne  (0) 2021.09.18

๋Œ“๊ธ€