티스토리 뷰

algorithm

[DP] 9461 파도반수열

tonirr 2020. 5. 1. 23:02

점화식이 굉장히 쉬운 문제였는데 포스팅하는 것은 배열 선언에서 오류가 있어 많이 틀렸기 때문이다.

지금까지 java자료형에 대해 깊게 고민하지 않고 int로만 배열을 선언했는데 이렇게 하면 크기를 넘어서는 숫자에 대해서는 정확한 답을 구할수가 없다.

 

  • 표현범위
    • short 
      • -32,768 ~ 32,768
    • int
      • -2,147,483,648 ~ 2,147,483,647
    • long
      • -9223372036854775808 ~ 9223372036854775807
    • Double
      • -1.7E308 ~ 1.7E308

너무 범위가 큰 것 같으면 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
링크
«   2025/01   »
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
글 보관함