Publish:

ํƒœ๊ทธ: , , , , ,

์นดํ…Œ๊ณ ๋ฆฌ:

img_3.png

๋ฌธ์ œ

๋ฌธ์ œ ๋งํฌ

img_3.png

์„ค๋ช…

๋กœ๋ด‡์ด ๊ฒฉ์ž ์™ผ์ชฝ ์ƒ๋‹จ๋ถ€ํ„ฐ ์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ ๋๊นŒ์ง€ ์ด๋™ํ•˜๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ฐพ๋Š” ๋ฌธ์ œ

ํ’€์ด

  1. dp ๋ฐฐ์—ด ์ •์˜ : (i,j) ์˜์—ญ์— ๋„๋‹ฌํ•˜๋Š” ๊ฒฝ๋กœ์˜ ์ˆ˜
    • (i,0) / (0,j) ์ค„์€ ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ ํ•˜๋‚˜๋ฟ์ด๋ฏ€๋กœ ๋ฏธ๋ฆฌ ์ฑ„์›Œ ๋†“๋Š”๋‹ค.
  2. ์ ํ™”์‹ ๋„์ถœ : ๋ฌธ์ œ์—์„œ ๋กœ๋ด‡์€ ์˜ค๋ฅธ์ชฝ ๋˜๋Š” ์•„๋ž˜ ๋กœ ๋ฐ–์— ์›€์ง์ด์ง€ ๋ชปํ•œ๋‹ค๊ณ  ํ–ˆ์œผ๋ฏ€๋กœ (i, j) ์˜์—ญ์— ๋„๋‹ฌํ•˜๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š” ์™ผ์ชฝ์—์„œ ์˜ค๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜ + ์œ„์—์„œ ์˜ค๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค.
    • dp[i][j] = dp[i][j - 1] + dp[i - 1][j]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Solution {
  public int uniquePaths(int m, int n) {
    int[][] dp = new int[m][n];
    
    // (i, 0) ์ฑ„์šฐ๊ธฐ
    for (int i = 0; i < m; i++) {
      dp[i][0] = 1;
    }
    // (0, i) ์ฑ„์šฐ๊ธฐ
    for (int i = 0; i < n; i++) {
      dp[0][i] = 1;
    }

    for (int i = 1; i < m; i++) {
      for (int j = 1; j < n; j++) {
        dp[i][j] = dp[i][j - 1] + dp[i - 1][j];
      }
    }

    return dp[m - 1][n - 1];
  }
}
๋ฐฉ๋ฌธํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๋Œ“๊ธ€,์ง€์ ,ํ”ผ๋“œ๋ฐฑ ์–ธ์ œ๋‚˜ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค๐Ÿ˜Š

๐Ÿ˜€

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ