[백준,BOJ 9461] 파도반 수열(JAVA 구현)

2019. 11. 26. 15:01·CodingTest/백준 온라인 저지(BOJ)
반응형

 

-내 생각

  이제 동적 프로그래밍 알고리즘 분류의 문제를 4문제 째 풀고 있는데, 알 수 있었던 것은 무언가 수열과 같은 규칙이 발견되면 점화식을 세우는 것이 가장 중요한 것 같다. 또한 대다수의 수열은 수가 커질수록 기하급수적으로 수가 커지기 때문에 자료타입에 신경을 많이 써야 한다는 것이다. 이번 문제의 경우에도 점화식은 자세히 보면 dp[n] = dp [n-2] + dp [n-3]이라는 점화식을 찾을 수 있다. 또 한 가지 더 찾을 수 있는데 이 부분은 다른 분들의 글을 알 수 있었다. 

dp [n] = dp [n-1] + dp [n-5] 역시도 성립한다는 점이다. 필자는 첫 번째 점화식을 사용하였는데 오답 처리를 받아 검색해보다가 자료 타입에 문제가 있었다는 것을 알 수 있었다. int 형이 아닌 long형을 사용해야 한다.

 

-해법

import java.util.*;

public class Main {
	static int t,n;
	
	static long dp[]; // 메모이제이션

	
	public static void main(String[] args)   {
		Scanner sc = new Scanner(System.in);
		
		t=sc.nextInt();
		
		dp = new long[101];
		
		dp[1] =1; //초기 3개의 값 저장
		dp[2]=1;
		dp[3] =1;
		
		for(int i=0;i<t;i++) {
			n = sc.nextInt();
			
			for(int j=4;j<=n;j++) { //3개를 저장했으므로 4개부터 시작
				dp[j] = dp[j-2] + dp[j-3]; //점화식
			}
				
			System.out.println(dp[n]); //출력
			
		}
		
		
		
	}
	
}
저작자표시 (새창열림)
'CodingTest/백준 온라인 저지(BOJ)' 카테고리의 다른 글
  • [백준,BOJ 2579] 계단 오르기(JAVA 구현)
  • [백준,BOJ 1149] RGB 거리(JAVA 구현)
  • [백준,BOJ 1904] 01타일(JAVA 구현)
  • [백준,BOJ 1003] 피보나치 함수(JAVA 구현)
뜸부깅
뜸부깅
코딩에 대한 여러 개인적인 생각을 정리하고 공부를 하는 공간입니다!!
  • 뜸부깅
    코오오딩
    뜸부깅
  • 전체
    오늘
    어제
    • Note (429)
      • Skill (31)
        • Java & Spring (9)
        • Javascript & HTML & CSS (0)
        • React (0)
        • Next.js (22)
      • CodingTest (389)
        • 백준 온라인 저지(BOJ) (140)
        • 프로그래머스(Programmers) (79)
        • LeetCode (170)
      • Algorithm & Data Structure (6)
      • [Project] 포트폴리오 (3)
        • Front end (3)
        • Back end (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    백준7576
    백준1427
    백준7576자바
    알고리즘
    프로그래머스
    자바
    medium
    component-scan
    boj1427
    백준2751
    BOJ
    Easy
    meidum
    TypeScript
    next 14
    Java
    백준
    백준1260
    leetcode 2236
    boj2108
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
뜸부깅
[백준,BOJ 9461] 파도반 수열(JAVA 구현)
상단으로

티스토리툴바