Tags
- ๊ตฌํ
- ๊ทธ๋ํ ์ด๋ก
- ์๋ฃ๊ตฌ์กฐ
- ์๋ฎฌ๋ ์ด์
- Brute Force Algorithm
- Java
- ์ํ
- dfs
- LV2
- Study
- ๊ต์ฌ
- queue
- BOJ
- PGM
- sort
- Dynamic Programming
- stack
- ์ ์๋ก
- ๊ทธ๋ํ ํ์
- BFS
- ๊น์ด ์ฐ์ ํ์
- ๋ฌธ์์ด
- ๋๋น ์ฐ์ ํ์
- Python
- ์ ๋ ฌ
- greedy
- SpringBoot
- ๋ฐฑํธ๋ํน
- CodingTest
- DP
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_2193 : ์ด์น์ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- ์๋ฆฌ์ n์ ์
๋ ฅ๋ฐ๊ณ ๋ง๋ค ์ ์๋ ์ด์น์์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค.
- ์ด์น์๋ ์ด์ง์์์ ๋งจ ์์ 1์ด์ค๊ณ , 11์ฒ๋ผ 1 ๋ ๊ฐ๊ฐ ๋ถ์ด์ ๋์ค๋ ๊ฒฝ์ฐ๊ฐ ์๋ ์๋ฅผ ๋งํ๋ค.
- 1๋ถํฐ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ฐ์ ธ๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
/*
n count pinary number
1 1 1
2 1 10
3 2 101 100
4 3 1000 1001 1010
5 5 10000 10001 10010 10100 10101
6 8 100000 100001 100010 100100 101000 100101 101001 101010
90 2880067194370816120
*/
- n์ด ์ฆ๊ฐํจ์ ๋ฐ๋ผ ๋ต(count)๊ฐ ํผ๋ณด๋์น ์์ด ํํ๋ก ์ฆ๊ฐํจ์ ์ ์ ์๋ค.
- ๋ฌธ์ ์ n์ ๋ฒ์์์ ์ต๋๊ฐ์ธ 90์ธ ๊ฒฝ์ฐ count๊ฐ int๋ฒ์๋ฅผ ์ด๊ณผํ๋ฏ๋ก longํ์ ์จ์ผํ๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
long[] dp = new long[n+1];
dp[0] = 0;
dp[1] = 1;
for (int i = 2; i <= n; i++) {
dp[i] = dp[i-1] + dp[i-2];
}
System.out.println(dp[n]);
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- n์ ์ ๋ ฅ๋ฐ๊ณ n+1ํฌ๊ธฐ์ longํ ๋ฐฐ์ด์ ์ ์ธํ๋ค.
- ์ด๊ธฐ๊ฐ์ผ๋ก ์ธ๋ฑ์ค 0์๋ 0์, ์ธ๋ฑ์ค 1์๋ 1์ ๋ฃ๋๋ค.
- ์ธ๋ฑ์ค n๊น์ง ํผ๋ณด๋์น ์์ด ๊ณ์ฐ์ ๋ฐ๋ณตํ๊ณ ๊ฐ์ ์ถ๋ ฅํ๋ค.
๐ธ end ๐ธ
- ์ฒ์์ ๊ฐ์ด ์์กํ์ง๋ง ๊ฒฝ์ฐ์ ์๋ฅผ ๋ฐ์ ธ๋ณด๋ ํผ๋ณด๋์น ์์ด์ด๋ผ๋ ๊ฒ์ ์์์ฐจ๋ ค์ ์ฝ๊ฒ ํ์ดํ ์ ์์๋ค.
- dp ๋ฐฐ์ด์ ์๋ฃํ์ int๋กํด์ 1ํ ํ๋ ธ๋ค.
- int๋ก ์ ์ธํ์๋์ ์ฝ๋์์ n์ 90์ผ๋ก ์ ๋ ฅํด๋ดค์ผ๋ฉด int๋ฅผ ๋ฒ์ด๋๋ค๋ ๊ฒ์ ์ ์ ์์๋๋ฐ ์์ผํ๋ ๊ฒ ๊ฐ๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_3447 : ๋ฒ๊ทธ์ (0) | 2022.12.01 |
---|---|
BOJ_2520 : ํฌ์ผ์ดํฌ ์ฌ๋ (0) | 2022.12.01 |
BOJ_13699 : ์ ํ์ (0) | 2022.11.29 |
BOJ_9625 : BABBA (0) | 2022.11.24 |
BOJ_3182 : ํ๋์ด๋ ๊ณต๋ถ๊ฐ ํ๊ธฐ ์ซ์ด! (0) | 2022.11.22 |