728x90
반응형
동적 계획법
백준 1,2,3 더하기
https://www.acmicpc.net/problem/9095
동적 계획법 DP 를 떠올리며 문제를 풀기는 쉽지 않다.
import java.util.Scanner;
public class 백준1_2_3더하기 {
/*
ex )
3
4
7
10
*/
static int[] dp = new int[11];
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
dp[1] = 1;
dp[2] = 2; // 점화식을 떠올리기 까지의 과정이 DP풀이의 포인트
dp[3] = 4; // 점화식을 세워야 한다. dp[n] = dp[n-3] + dp[n-2] + dp[n-1];
for (int j=0; j<T; j++) {
int N = sc.nextInt();
for (int i=4; i<11; i++) {
dp[i] = dp[i-3] + dp[i-2] + dp[i-1];
}
System.out.println(dp[N]);
}
}
}
320x100
반응형
'ALGORITHM' 카테고리의 다른 글
[SQL 연습] 프로그래머스 즐겨찾기가 가장 많은 식당 정보 출력하기 (0) | 2023.12.14 |
---|---|
[SQL 연습] 프로그래머스 조건에 부합하는 중고거래 댓글 조회하기 (0) | 2023.12.14 |
[python3] 2022 KAKAO BLIND RECRUITMENT신고 결과 받기 (0) | 2023.05.08 |
[python3] 2023 KAKAO BLIND RECRUITMENT 개인정보 수집 유효기간 (0) | 2023.05.08 |
[python 3] 2019 KAKAO BLIND RECRUITMENT 실패율 (0) | 2023.05.07 |