Publish:

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

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

img_3.png

๋ฌธ์ œ

๋ฌธ์ œ ๋งํฌ

img_3.png

์„ค๋ช…

์•ž ๋‘ ์ˆ˜๋ฅผ ๋”ํ•œ ์ˆ˜๊ฐ€ ๋‹ค์Œ ์ˆ˜๊ฐ€ ๋˜๋Š” ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ

ํ’€์ด

๋™์ ๊ณ„ํš๋ฒ•(๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ, DP) : ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์€ ์ „ํ˜•์ ์ธ dp ๋ฌธ์ œ๋‹ค. ์ดˆ๊ธฐ ์ƒํƒœ๊ฐ€ ๋‹ค์Œ ๊ฒฐ๊ณผ์— ๊ณ„์†ํ•ด์„œ ์˜ํ–ฅ์„ ์ฃผ๋Š” ์ˆ˜์—ด์ด๋ผ ์ ํ™”์‹์„ ๋„์ถœ ํ•  ์ˆ˜ ์žˆ๊ณ , ์ด๋ฅผ ๋ชจ๋“  ์ž…๋ ฅ๊ฐ’์— ๋Œ€ํ•ด ๋ฏธ๋ฆฌ ์„ธํŒ…ํ•ด ๋‘๊ณ  ๊บผ๋‚ด๋Š” ๋ฐฉ์‹์ด๋‹ค. bottom-up ๋ฐฉ์‹์ด ์ต์ˆ™ํ•ด์„œ ํ•ด๋‹น ๋ฐฉ์‹์œผ๋กœ ํ’€์—ˆ๋‹ค. ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์—์„œ ์ œ์ผ ์ฒ˜์Œ ๋‚˜์˜ค๋Š” ์ˆ˜๋Š” 0 ์ด๊ณ  ๊ทธ๋‹ค์Œ ์ˆ˜๋Š” 1๋กœ ๊ณ ์ •์ด๋ฏ€๋กœ, dp ๋ฐฐ์—ด์— ๊ฐ๊ฐ 0, 1 ์„ ๋„ฃ์–ด์ฃผ๊ณ  ์‹œ์ž‘ํ•œ๋‹ค. ๊ทธ ๋‹ค์Œ ์ˆซ์ž๋ถ€ํ„ฐ๋Š” ์•ž ๋‘ ์ˆซ์ž๋ฅผ ๋”ํ•ด์„œ ๋‚˜์˜ค๋Š” ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•˜๋ฉด ๋œ๋‹ค.

์ž…๋ ฅ๋˜๋Š” ์ˆ˜์˜ ๋ฒ”์œ„๊ฐ€ ์ตœ๋Œ€ 10๋งŒ ์ด๋ฏ€๋กœ dp ๋ฐฐ์—ด์„ ๋ฏธ๋ฆฌ 10๋งŒ ํฌ๊ธฐ๋กœ ๋งŒ๋“ค์–ด ๋‘”๋‹ค. ์ธ๋ฑ์Šค์™€ ๊ฐ’์„ ๋™์ผํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋ฐฐ์—ด ํฌ๊ธฐ๋Š” n + 1 ๋กœ ์ •์˜ํ•œ๋‹ค. dp ๋ฌธ์ œ๋“ค์€ ๋ณดํ†ต ๋’ค๋กœ ๊ฐˆ์ˆ˜๋ก ์ˆ˜๊ฐ€ ๋งค์šฐ ์ปค์ง€๊ธฐ ๋•Œ๋ฌธ์— ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๊ตฌํ•˜๋ผ๊ณ  ๋‚˜์˜ค๊ธฐ ๋•Œ๋ฌธ์—, dp ๋ฐฐ์—ด์— ๋ฏธ๋ฆฌ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€ ๊ฐ’์„ ์ €์žฅํ•ด ๋‘”๋‹ค.

๋ฐ˜๋ณต๋ฌธ์„ ๋ชจ๋‘ ๋Œ๊ณ ๋‚˜๋ฉด dp ๋ฐฐ์—ด์—” 1๋ถ€ํ„ฐ 10๋งŒ๊นŒ์ง€ ๋ชจ๋“  ์ž์—ฐ์ˆ˜์— ๋Œ€ํ•œ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜๊ฐ€ ๋“ค์–ด์žˆ๋‹ค. ์ •๋‹ต ๋„์ถœ ์‹œ์—๋Š” ๋‹จ์ˆœํžˆ n ๋ฒˆ์งธ ๊ฐ’์„ ๊บผ๋‚ด์˜ค๊ธฐ๋งŒ ํ•˜๋ฉด๋œ๋‹ค.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Solution {
  public int solution(int n) {
    int answer = 0;
    int MOD = 1234567;

    int[] dp = new int[1000001];
    dp[0] = 0;
    dp[1] = 1;
    for (int i = 2; i < dp.length; i++) {
      dp[i] = (dp[i - 1] + dp[i - 2]) % MOD;
    }

    answer = dp[n];
    return answer;
  }
}

ํšŒ๊ณ 

์‚ฌ์‹ค ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์€ ๋„ˆ๋ฌด ์ž˜ ์•Œ๋ ค์ ธ ์žˆ์–ด ์ ํ™”์‹๋„ ๊ธˆ๋ฐฉ ๋„์ถœ๋˜๊ณ , ์ ํ™”์‹์„ ํ’€๋ฉด ๋‹ต์œผ๋กœ ์ด์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ํฌ๊ฒŒ ๊ณ ๋ฏผํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค.

dp ๋ฌธ์ œ์˜ ํ•ต์‹ฌ์€ ์ ํ™”์‹์„ ์ฐพ์•„๋‚ด๋Š” ๊ฒƒ์ด๋‹ค. ์ ํ™”์‹์„ ์ฐพ๋Š” ๊ณผ์ •์ด ๋ฌธ์ œ์— ๋”ฐ๋ผ ์‰ฝ์ง€ ์•Š์€ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ๋ฌธ์ œ ์†์—์„œ ์–ด๋–ค ๊ทœ์น™์„ ๋ฐœ๊ฒฌํ•ด ๋˜ ๋‹ค๋ฅธ ์ž‘์€ ๋ฌธ์ œ๋ฅผ ์ •์˜ํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๊ฒƒ์ด ๊ฒฐ๊ณผ์— ์˜ํ–ฅ์„ ์ค€๋‹ค๋ฉด ๋ฐฉํ–ฅ์„ ์ž˜ ์žก์•˜๋‹ค๊ณ  ๋ณด๋ฉด๋œ๋‹ค.

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

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