Tags
- PGM
- Study
- dfs
- ์๋ฃ๊ตฌ์กฐ
- ์ ์๋ก
- Brute Force Algorithm
- Python
- ๊น์ด ์ฐ์ ํ์
- LV2
- Dynamic Programming
- queue
- ๋๋น ์ฐ์ ํ์
- ๊ตฌํ
- DP
- ๊ต์ฌ
- sort
- Java
- ์ ๋ ฌ
- SpringBoot
- ๊ทธ๋ํ ์ด๋ก
- ๋ฌธ์์ด
- ๋ฐฑํธ๋ํน
- ์ํ
- ์๋ฎฌ๋ ์ด์
- greedy
- BFS
- BOJ
- ๊ทธ๋ํ ํ์
- stack
- CodingTest
Archives
๊ธฐ๋ก๋ฐฉ
Lv.2 : ๋ฉ๋ฆฌ ๋ฐ๊ธฐ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- ๊ฐ ์นธ์ ๋๋ ๋ฐฉ๋ฒ์ด +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
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Lv.2 : ์ฐ์ ๋ถ๋ถ ์์ด ํฉ์ ๊ฐ์ (0) | 2023.09.22 |
---|---|
Lv.2 : ๊ทค ๊ณ ๋ฅด๊ธฐ (0) | 2023.09.18 |
Lv.2 : N๊ฐ์ ์ต์๊ณต๋ฐฐ์ (0) | 2023.09.16 |
Lv.2 : ์์ ๋์งํ (0) | 2023.09.14 |
Lv.2 : ์ ํ์ ์๊ฐ ์ด๋ (0) | 2023.09.14 |