728x90
https://www.acmicpc.net/problem/14606
● 문제
피자의 층 수를 계속해서 분해해 나가는 DP문제 중의 일부이다.
예를들어 피자가 5판인경우 먼저 3x2 = 6 으로 분리 시킨 후 2x1 + 1x1 = 3 으로 분리시킨다 1인 친구들은 더이상 분리가 불가능하지 그대로 두고 2를 1x1 = 1 로 분해시키면 총 6 + 3 + 1 = 10 이 얻을 수 있는 최대 즐거움이 된다.
이거를 표로 정리해보면
피자 판 수 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
행복도 | 0 | 1 | 3 | 6 | 10 | 15 | 21 | 28 | 36 |
증감량 | 0 | +1 | +2 | +3 | +4 | +5 | +6 | +7 | +8 |
표를 확인해보면 증감량이 일정하게 증가하는것을 확인할 수 있다!
● 코드
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int[] dp = new int[N + 1];
dp[0] = 0;
for(int i = 1; i <= N; i++) {
dp[i] += dp[i - 1] + i;
}
System.out.println(dp[N - 1]);
}
}
728x90
'Study > BaekJoon' 카테고리의 다른 글
[백준 자바JAVA] 11726번 - 2xn 타일링 (0) | 2024.07.16 |
---|---|
[백준 자바JAVA] 1003번 - 피보나치 함수 (0) | 2024.07.15 |
[백준 자바JAVA] 10826번 - 피보나치 수 4 (0) | 2024.07.11 |
[백준 자바JAVA] 13301번 - 타일 장식 (0) | 2024.07.10 |
[백준 자바JAVA] 9625번 - BABBA (0) | 2024.07.09 |