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;
}
}