Publish:

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

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

img_3.png

๋ฌธ์ œ

๋ฌธ์ œ ๋งํฌ

img_3.png

์„ค๋ช…

์ž…๋ ฅ ๊ฐ’ n ์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, 1๊ณผ 2์˜ ํ•ฉ์œผ๋กœ๋งŒ ๊ทธ ์ˆ˜๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ

ํ’€์ด

๋™์ ๊ณ„ํš๋ฒ•(๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ, DP) : ๊ฐ๊ฐ์˜ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋์ž๋ฆฌ๊ฐ€ 1๋กœ ๋๋‚˜๋Š” ๊ฒฝ์šฐ์™€ 2๋กœ ๋๋‚˜๋Š” ๊ฒฝ์šฐ๋กœ ๋ถ„๋ฆฌํ•ด์„œ ์ ์–ด๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// n = 3
     [2,1]
     [1,1,1]
     [1,2]
// 1๋กœ ๋๋‚˜๋Š” ๊ฒฝ์šฐ: 2๊ฐœ, 
// 2๋กœ ๋๋‚˜๋Š” ๊ฒฝ์šฐ: 1๊ฐœ

// n = 4
   [2, 1, 1]
   [1, 2, 1]
   [1, 1, 1, 1]
   [1, 1, 2]
   [2, 2]
// 1๋กœ ๋๋‚˜๋Š” ๊ฒฝ์šฐ: 3๊ฐœ,
// 2๋กœ ๋๋‚˜๋Š” ๊ฒฝ์šฐ: 2๊ฐœ

// n = 5
   [2, 1, 1, 1]
   [1, 2, 1, 1]
   [1, 1, 1, 1, 1]
   [1, 1, 2, 1]
   [2, 2, 1]
   [2, 1, 2]
   [1, 2, 2]
   [1, 1, 1, 2]
// 1๋กœ ๋๋‚˜๋Š” ๊ฒฝ์šฐ: 5๊ฐœ,
// 2๋กœ ๋๋‚˜๋Š” ๊ฒฝ์šฐ: 3๊ฐœ

์ƒ๊ฐํ•ด๋ณด๋ฉด, ๋งˆ์ง€๋ง‰์— 1์„ ๋”ํ•˜๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š” n - 1 ๊ฒฝ์šฐ์˜ ์ˆ˜์™€ ๊ฐ™๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋งˆ์ง€๋ง‰์— 2๋ฅผ ๋”ํ•˜๋Š” ๊ฒฝ์šฐ๋Š” n - 2 ์˜ ๊ฒฝ์šฐ์˜ ์ˆ˜์™€ ๊ฐ™๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด n = 5์ผ๋•Œ 1๋กœ ๋๋‚˜๋Š” ๊ฒฝ์šฐ๋Š” n = 4์˜ ์ผ€์ด์Šค์— 1๋งŒ ๋”ํ•ด์ฃผ๋Š” ๊ฒฐ๊ณผ์ด๋ฏ€๋กœ 4์˜ ๊ฒฝ์šฐ์˜ ์ˆ˜์™€ ๊ฐ™๊ณ  2๋กœ ๋๋‚˜๋Š” ๊ฒฝ์šฐ๋Š” n = 3 ์˜ ์ผ€์ด์Šค์— 2๋ฅผ ๋”ํ•ด์ค€ ๊ฒฐ๊ณผ์™€ ๊ฐ™๋‹ค. ์ด๋ฅผ ์‹์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด i(n) = i(n - 1) + i(n - 2) ๊ฐ€ ๋œ๋‹ค.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution {
  public long solution(int n) {
    long answer;
    int[] dp = new int[2001];
    dp[1] = 1;
    dp[2] = 2;
    dp[3] = 3;
    for (int i = 4; i < dp.length; i++) {
      dp[i] = (dp[i - 1] + dp[i - 2]) % 1234567;
    }
    answer = dp[n];

    return answer;
  }
}

ํšŒ๊ณ 

์ด๋Ÿฐ ๋ฌธ์ œ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ ์–ด๋ณด๋ฉด ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ด์ง€๋งŒ, ๊ทธ๋ž˜๋„ ์ ํ™”์‹์ด ์ž˜ ๋ณด์ด์ง€ ์•Š์„๋• 1๋กœ ๋๋‚˜๋Š” ์ˆœ์„œ, 2๋กœ ๋๋‚˜๋Š” ์ˆœ์„œ ๋“ฑ์œผ๋กœ ์ ์–ด๋ณด๋ฉด ๊ทœ์น™์„ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฐฉ๋ฌธํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๋Œ“๊ธ€,์ง€์ ,ํ”ผ๋“œ๋ฐฑ ์–ธ์ œ๋‚˜ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค๐Ÿ˜Š

๐Ÿ˜€

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