본문 바로가기

DP40

[백준] 1463번 : 1로 만들기 – JAVA [자바] https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 문제 문제 풀이 백준 1463번 1로 만들기는 실버 3 난이도의 DP 문제이다. 이 문제는 DP 문제 중에서도 기본적인 문제이니 꼭 풀어보고 이해하는 것을 추천한다. 이 문제에서는 정수 N이 주어지고 이 정수를 1로 만들 때 사용되는 최소 연산 횟수를 구하면 된다. 할 수 있는 연산은 3가지가 있다. 1. N을 3으로 나눌 수 있으면 3으로 나눈다. 2. N을 2로 나눌 수 있으면 2로 나눈다. 3. N에서 1을 뺀다. 이 문제는 4가지의 케이스로 나눠서 풀 수 있다. 그전에 배열 dp를 선언하는데 dp [i].. 2022. 7. 9.
[백준] 2839번 : 설탕 배달 – JAVA [자바] https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 문제 문제 풀이 백준 2839번 설탕 배달은 실버 4 난이도의 수학, DP 그리고 그리디 문제이다. 이 문제에서는 설탕 무게 N이 주어진다. 그리고 설탕 봉지는 3 킬로그램 봉지와 5 킬로그램 봉지만 있다. 이때 최대한 적은 봉지를 사용해서 무게 N을 맞혀야 한다. 이 문제는 다이나믹 프로그래밍, 즉 DP 문제이다. DP 문제 중에서도 대표적인 문제 유형이므로 꼭 풀어보고 이해하는 것을 추천한다. 이 문제는.. 2022. 7. 7.
[백준] 14607번 : 피자 (Large) – JAVA [자바] https://www.acmicpc.net/problem/14607 14607번: 피자 (Large) 예제1의 입력이 1이므로, 게임 시작부터 갑이 분리할 수 있는 피자탑이 없습니다. 따라서 갑이 얻는 즐거움은 0입니다. 예제2의 정답 3은 다음과 같은 과정을 통해 얻어집니다. 먼저 놀이를 시작 www.acmicpc.net 문제 문제 풀이 백준 14607번 피자 (Large)는 실버 3 난이도의 수학 문제이다. 이 문제의 알고리즘 분류에서는 DP도 같이 있지만 DP로는 못 푸는(?) 문제이다. 이 문제는 그리고 2017 아주대학교 프로그래밍 경시대회 (APC) Division 2에 나온 B2번 문제였다. 우선 문제에서 피자판의 개수 n이 주어진다. n의 범위는 1부터 10까지다. 피자판의 높이가 A라고 .. 2022. 4. 22.
[백준] 15489번 : 파스칼 삼각형 – JAVA [자바] https://www.acmicpc.net/problem/15489 15489번: 파스칼 삼각형 첫째 줄에 양의 정수 R, C, W가 공백을 한 칸씩 두고 차례로 주어진다. (단, 2 ≤ R+W ≤ 30, 2 ≤ C+W ≤ 30, 1 ≤ W ≤ 29, C ≤ R) www.acmicpc.net 문제 문제 풀이 백준 15489번 파스칼 삼각형은 실버 5 난이도의 DP 문제이다. 이 문제에서는 정수 R, C, W가 주어진다. 그리고 R + W 만큼의 파스칼의 삼각형을 만들어야 한다. 왜냐하면 R번째 줄, C번째 수를 위 꼭짓점으로 하는 한 변이 포함하는 수의 개수가 W인 정삼각형 안에 있는 모든 수를 더한 값을 출력해야 하기 때문이다. 우선 2차원 DP 테이블을 만든다. DP [i][j]는 i번째 줄에서 j번.. 2022. 4. 21.
반응형