목록 dp ( 5 ) 
 백준 / 9095 번 : : 1 , 2 , 3 더하기 ( Java 구현 ) DP - 다이나믹 프로그래밍 
 문제 정수 4 를 1 , 2 , 3 의 조합 으로 나타내 는 방법 은 총 7 가지 가 있 다 . 1 + 1 + 1 + 11 + 1 + 21 + 2 + 12 + 1 + 12 + 21 + 33 + 1 정수 n 이 주어졌 을 때 , n 을 1 , 2 , 3 의 합 으로 나타내 는 방법 의 수 를 구하 는 프로그램 을 작성 하 시 오 . 입력 첫째 줄 에 테스트 케이스 의 개수 T 가 주어진다 . 각 테스트 케이스 는 한 줄 로 이루어져 있 고 , 정수 n 이 주어진다 . n 은 양수 이 며 11 보다 작 다 . 출력 각 테스트 케이스 마다 , n 을 1 , 2 , 3 의 합 으로 나타내 는 방법 의 수 를 출력 . . 
 Algorithm / 백준 온라인 저지 2018 . 06 . 19 10 : 50 
 백 준 / 11726 번 : : 2 xn 타일 링 ( Java 구현 ) - DP 다이나믹 프로그래밍 
 문제 2 ×n 크기 의 직사각형 을 1 × 2 , 2 × 1 타일 로 채우 는 방법 의 수 를 구하 는 프로그램 을 작성 하 시 오 . 아래 그림 은 2 × 5 크기 의 직사각형 을 채운 한 가지 방법 의 예 이 다 . 입력 첫째 줄 에 n 이 주어진다 . ( 1 ≤ n ≤ 1 , 000 ) 출력 첫째 줄 에 2 ×n 크기 의 직사각형 을 채우 는 방법 의 수 를 10 , 007 로 나눈 나머지 를 출력 한다 . 예 제 입력 12 예제 출력 12 예제 입력 29 예제 출력 255 코드 구현 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1314151617181920212223242 . . 
 Algorithm / 백준 온라인 저지 2018 . 06 . 19 10 : 26 
 백 준 / 1463 번 : : 1 로 만들 기 ( Java 구현 ) DP - 다이나믹 프로그래밍 
 문제 정수 X 에 사용 할 수 있 는 연산 은 다음 과 같이 세 가지 이 다 . X 가 3 으로 나누 어 떨어지 면 , 3 으로 나눈다 . X 가 2 로 나누 어 떨어지 면 , 2 로 나눈다 . 1 을 뺀다 . 정수 N 이 주어졌 을 때 , 위 와 같 은 연산 세 개 를 적절히 사용 해서 1 을 만들 려고 한다 . 연산 을 사용 하 는 횟수 의 최소 값 을 출력 하 시 오 . 입력 첫째 줄 에 1 보다 크 거나 같 고 , 106 보다 작 거나 같 은 자연수 N 이 주어진다 . 출력 첫째 줄 에 연산 을 하 는 횟수 의 최소 값 을 출력 한다 . 예 제 입력 2 . . 
 Algorithm / 백준 온라인 저지 2018 . 06 . 19 10 : 13 
 백 준 / 11727 번 : : 2 xn 타일 링 2 ( C / C ++ 구현 ) - DP , 메모 이제 이 션 
 문제 2 ×n 직사각형 을 2 × 1 과 2 × 2 타일 로 채우 는 방법 의 수 를 구하 는 프로그램 을 작성 하 시 오 . 아래 그림 은 2 × 17 직사각형 을 채운 한 가지 예 이 다 . 입력 첫째 줄 에 n 이 주어진다 . ( 1 ≤ n ≤ 1 , 000 ) 출력 첫째 줄 에 2 ×n 크기 의 직사각형 을 채우 는 방법 의 수 를 10 , 007 로 나눈 나머지 를 출력 한다 . 예 제 입력 12 예제 출력 13 예제 입력 28 예제 출력 2171 예제 입력 312 예제 출력 32731 코드 구현 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2131415161718192021222324 . . 
 Algorithm / 백준 온라인 저지 2018 . 05 . 02 00 : 51 
 알고리즘 : : 다이나믹 프로그래밍 ( DP ) - 피보나치 ( Fibonacci ) C / C ++ 구현 , 메모 이제 이 션 
 Algorithm 2018 . 05 . 02 00 : 15