티스토리 뷰
점화식이 굉장히 쉬운 문제였는데 포스팅하는 것은 배열 선언에서 오류가 있어 많이 틀렸기 때문이다.
지금까지 java자료형에 대해 깊게 고민하지 않고 int로만 배열을 선언했는데 이렇게 하면 크기를 넘어서는 숫자에 대해서는 정확한 답을 구할수가 없다.
- 표현범위
- short
- -32,768 ~ 32,768
- int
- -2,147,483,648 ~ 2,147,483,647
- long
- -9223372036854775808 ~ 9223372036854775807
- Double
- -1.7E308 ~ 1.7E308
- short
너무 범위가 큰 것 같으면 long으로 배열을 선언하자
public class Main {
static long dp[];
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int test = sc.nextInt();
for(int j = 1; j <= test; j++) {
int n = sc.nextInt();
dp = new long[101];
dp[1] = dp[2] = dp[3] = 1;
dp[4] = dp[5] = 2;
for(int i = 6; i <= n; i++) {
dp[i] = dp[i-1] + dp[i-5];
}
System.out.println(dp[n]);
}
sc.close();
}
}
'algorithm' 카테고리의 다른 글
다이나믹 프로그래밍 문제 정리 (0) | 2020.05.05 |
---|---|
[DP] 2011 (0) | 2020.05.05 |
[DP] 2133 3*n 타일링문제 (0) | 2020.05.01 |
[dp] 1699 (0) | 2020.04.28 |
[DP] 2579 런타임에러 (0) | 2020.04.27 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 스텍
- 최단경로
- BFS
- Java
- 병행프로세스
- 소프트웨어
- 입출력장치
- 퀵정렬
- server side rendering
- 알고리즘
- 구조체
- 교착상태
- client side rendering
- 세마포어
- dfs
- 자료구조
- 인접리스트
- 배열
- 클래스
- 운영체제
- 동적프로그래밍
- javascript
- 인접행렬
- stackframe
- C++
- react
- 이진탐색
- C
- 재귀함수
- Stack
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함