๊ธฐ๋ก๋ฐฉ

Lv.2 : ๋ฉ€๋ฆฌ ๋›ฐ๊ธฐ ๋ณธ๋ฌธ

CodingTest/Java

Lv.2 : ๋ฉ€๋ฆฌ ๋›ฐ๊ธฐ

Soom_1n 2023. 9. 17. 19:32

๐Ÿ‘‰ ๋ฌธ์ œ๋งํฌ

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr



๐Ÿ”ธ ๋ฌธ์ œ ๋ถ„์„ ๐Ÿ”ธ

  • ๊ฐ ์นธ์„ ๋„˜๋Š” ๋ฐฉ๋ฒ•์ด +1 ๋˜๋Š” +2๊ฐ€ ์žˆ๋‹ค. ๋งˆ์ง€๋ง‰ n๋ฒˆ์งธ ์นธ์— ๋„๋‹ฌํ•˜๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
    • ์ตœ์ข… ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ 1234567๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  • ๋‹ค์Œ์€ n์ด 0๋ถ€ํ„ฐ 6๊นŒ์ง€์˜ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ •๋ฆฌํ•ด ๋ณด์•˜๋‹ค.
n 

0   

1   1 : 1

2   1 1 : 2
    2

3   1 1 1 : 3
    1 2
    2 1

4   1 1 1 1 : 5
    1 1 2
    1 2 1
    2 1 1
    2 2
    
5   1 1 1 1 1 : 8
    1 1 1 2
    1 1 2 1
    1 2 1 1
    1 2 2
    2 1 1 1
    2 1 2
    2 2 1
    
6   1 1 1 1 1 1 : 13
    1 1 1 1 2
    1 1 1 2 1
    1 1 2 1 1
    1 2 1 1 1
    2 1 1 1 1
    1 1 2 2
    1 2 1 2
    1 2 2 1
    2 1 1 1
    2 1 2 1
    2 2 1 1
    2 2 2

๐Ÿ”ธ ๋ฌธ์ œ ํ’€์ด ๐Ÿ”ธ

  • ์ „ํ˜•์ ์ธ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด ๋ฌธ์ œ์ด๋‹ค.
    • (i๋ฒˆ์งธ ์ˆ˜) = (i-1 ๋ฒˆ์งธ์ˆ˜) + (i-2 ๋ฒˆ์งธ ์ˆ˜)
  • ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์„ ํ’€์ดํ•  ๋•Œ๋Š” ์žฌ๊ท€ ๋ฉ”์„œ๋“œ๋กœ ํ’€์ดํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ํšจ์œจ์ด ์ข‹์ง€์•Š๋‹ค.
  • ๋”ฐ๋ผ์„œ ๋™์ ๊ณ„ํš๋ฒ•(DP) ํ’€์ด๋ฅผ ์ ์šฉํ–ˆ๋‹ค.
    • ์ ํ™”์‹์„ ์จ๋ณด๋ฉด, i >= 2 ์ผ๋•Œ, arr[i] = arr[i-1] + arr[i-2]
  • ์—ฌ๋Ÿฌ ์ˆ˜๋ฅผ ๋”ํ•ด ํ•ฉ์นœ ๊ฐ’์„ a๋กœ ๋‚˜๋ˆˆ ๊ฒฐ๊ณผ๋Š” ์—ฌ๋Ÿฌ ์ˆ˜๋ฅผ ๊ฐ๊ฐ a๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€์˜ ํ•ฉ๊ณผ ๊ฐ™๋‹ค๋Š” ์›๋ฆฌ๋„ ์‚ฌ์šฉํ•œ๋‹ค.

๐Ÿ”ธ ์ฝ”๋“œ ๐Ÿ”ธ

class Solution {
    public long solution(int n) {
        int[] dp = new int[n+1];
        dp[1] = 1;
        if(n >= 2)
            dp[2] = 2;
        
        for(int i = 3; i <= n; i++) {
            dp[i] = (dp[i-1] + dp[i-2]) % 1234567;
        }
        
        return dp[n];
    }
}

๐Ÿ”ธ ์ฝ”๋“œ ํ•ด์„ ๐Ÿ”ธ

  • intํ˜• ๋ฐฐ์—ด dp์— 1, 2๋ฒˆ์งธ ์ˆ˜๋Š” ๋„ฃ๊ณ  ์‹œ์ž‘ํ•ด์•ผ๋˜๋Š”๋ฐ, n์˜ ์ตœ์†Œ๊ฐ’์€ 1์ด๋ฏ€๋กœ n์ด 2์ผ ๋•Œ๋Š” ํ™•์ธํ•ด์„œ ๋„ฃ์–ด์ค€๋‹ค.
  • ์ˆ˜๋ฅผ ํ•ฉํ•˜๊ณ  1234567๋กœ ๋‚˜๋ˆ  ๋‚˜๋จธ์ง€๋ฅผ ์ €์žฅํ•œ๋‹ค.
  • ๋งˆ์ง€๋ง‰ n๋ฒˆ์งธ์— ์ €์žฅ๋œ ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

๐Ÿ”ธ end ๐Ÿ”ธ

  • ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์˜ ๊ธฐ์ดˆ์ ์ธ ๋ฌธ์ œ์—ฌ์„œ ๊ฐ„๋‹จํžˆ ํ’€์ดํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

728x90