[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] Lv2. ๋ฉ€๋ฆฌ๋›ฐ๊ธฐ

2023. 3. 8. 16:39ใ†์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_2023

728x90

https://school.programmers.co.kr/learn/courses/30/lessons/12914

 

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

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

programmers.co.kr

 

๋ฌธ์ œ ์„ค๋ช…

ํšจ์ง„์ด๋Š” ๋ฉ€๋ฆฌ ๋›ฐ๊ธฐ๋ฅผ ์—ฐ์Šตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํšจ์ง„์ด๋Š” ํ•œ๋ฒˆ์— 1์นธ, ๋˜๋Š” 2์นธ์„ ๋›ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์นธ์ด ์ด 4๊ฐœ ์žˆ์„ ๋•Œ, ํšจ์ง„์ด๋Š”
(1์นธ, 1์นธ, 1์นธ, 1์นธ)
(1์นธ, 2์นธ, 1์นธ)
(1์นธ, 1์นธ, 2์นธ)
(2์นธ, 1์นธ, 1์นธ)
(2์นธ, 2์นธ)
์˜ 5๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ๋งจ ๋ ์นธ์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฉ€๋ฆฌ๋›ฐ๊ธฐ์— ์‚ฌ์šฉ๋  ์นธ์˜ ์ˆ˜ n์ด ์ฃผ์–ด์งˆ ๋•Œ, ํšจ์ง„์ด๊ฐ€ ๋์— ๋„๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋ช‡ ๊ฐ€์ง€์ธ์ง€ ์•Œ์•„๋‚ด, ์—ฌ๊ธฐ์— 1234567๋ฅผ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•˜์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด 4๊ฐ€ ์ž…๋ ฅ๋œ๋‹ค๋ฉด, 5๋ฅผ returnํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

์ œํ•œ ์‚ฌํ•ญ
  • n์€ 1 ์ด์ƒ, 2000 ์ดํ•˜์ธ ์ •์ˆ˜์ž…๋‹ˆ๋‹ค.

 

์ž…์ถœ๋ ฅ ์˜ˆ
n                                                                                               result
4 5
3 3
์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

์ž…์ถœ๋ ฅ ์˜ˆ #1
์œ„์—์„œ ์„ค๋ช…ํ•œ ๋‚ด์šฉ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #2
(2์นธ, 1์นธ)
(1์นธ, 2์นธ)
(1์นธ, 1์นธ, 1์นธ)
์ด 3๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฉ€๋ฆฌ ๋›ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

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

public long solution(int n) {
   int[] dp = new int[2001];
   dp[1] = 1;
   dp[2] = 2;
   
   for (int i = 3; i < dp.length; i++)
   {
      dp[i] = dp[i-2] + dp[i-1] % 1234567;
   }
   
   return dp[n];
}

์ด ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ  ์–ด๋–ป๊ฒŒ ํ’€๊นŒ ํ•˜๋‹ค๊ฐ€.. ๋ถ„ํ• ๊ณผ ์ •๋ณต์„ ํ™œ์šฉํ•˜๋ผ๋Š” ํžŒํŠธ๋ฅผ ์–ป์—ˆ๋‹ค. 

n = 1 ์ผ ๋•Œ, 

1

1๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด๊ณ  

 

n = 2 ์ผ ๋•Œ,

1 + 1 

2

2๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด๋ฉฐ, 

 

n = 3 ์ผ ๋•Œ, 

1+ 1 + 1 

1 + 2 

2 + 1 

3 ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด๊ณ , 

 

n = 4 ์ผ ๋•Œ, 

1+ 1 + 1 + 1

1 + 1 + 2

1 + 2 + 1

2 + 1 + 1 

2 + 2 

5๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ 

 

n = 5  ์ผ ๋•Œ, 

1 + 1 + 1 + 1 + 1

1 + 1 + 1 + 2 

1 + 1 + 2 + 1

1 + 2 + 1 + 1

2 + 1 + 1 + 1

1 + 2 + 2 

2 + 1 + 2 

2 + 2 + 1 

8 ๊ฐ€์ง€ ๋ฐฉ๋ฒ•...

 

์ด๋ ‡๊ฒŒ (n- 2) + (n-1) % 1234567 ํ•œ ๊ฐ’์ธ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ฝ”๋“œ๋ฅผ ์œ„์—์ฒ˜๋Ÿผ ์งฐ๊ณ , n์€ 2000์ดํ•˜ ๋ผ๊ณ  ๋ฌธ์ œ์—์„œ ์ œํ•œ์‚ฌํ•ญ์œผ๋กœ ๋‚˜์™€์žˆ๊ธฐ ๋•Œ๋ฌธ์— dp ์˜ ๊ธธ์ด๋ฅผ 2001๋กœ ์ง€์ •ํ•ด์คฌ๋‹ค. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90