Algorithm/Programmers

[LV2/JAVA] ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜

carsumin 2024. 10. 6. 16:05

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

 

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

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

programmers.co.kr

 

 

1. ์žฌ๊ท€ํ•จ์ˆ˜(recursive)๋กœ ํ’€๋ฉด ์ž…๋ ฅ๊ฐ’์ด ํด ๊ฒฝ์šฐ ๋ฉ”๋ชจ๋ฆฌ์ฐจ์ง€๋ฅผ ๋งŽ์ด ํ•˜๊ณ  ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ ์ฆ๊ฐ€ํ•œ๋‹ค.

2. ์ค‘๋ณต์—ฐ์‚ฐ์„ ์—†์• ๋Š” dynamic programming์„ ํ•ด์•ผํ•œ๋‹ค.

3. ์ฒซ๋ฒˆ์งธ์™€ ๋‘๋ฒˆ์งธ ๊ฒฝ์šฐ๋Š” ๋ฏธ๋ฆฌ ๊ฐ’์„ ์ดˆ๊ธฐํ™”ํ•˜๊ณ  ์‹œ์ž‘ํ•œ๋‹ค.

4. ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๊ฐ ์—ฐ์‚ฐ์— 1234567์˜ ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ์„ ํ•ด์•ผํ•œ๋‹ค.

 

๋‚ด ํ’€์ด
class Solution {
    public int solution(int n) {
        int answer = 0;
        int[] arr = new int[n+1];
        arr[0] = 0;
        arr[1] = 1;
        
        for(int i=2; i<=n; i++){
            arr[i] = (arr[i-2] + arr[i-1]) % 1234567;
        }
        answer = arr[n];
        return answer;
    }
}