본문 바로가기

DP2

[백준 - Java] 2156번 : 포도주 시식 문제 www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net 설명 백준 2597번 계단 오르기와 비슷하게 DP (Dynamic Programing) 동적 계획법으로 풀 수 있는 문제다. [백준 - Java] 2579번 : 계단 오르기 하지만 계단 오르기완 다르게 하나 더 고려할 점이 있다. 바로 와인을 먹지 않는 경우 역시 고려해야 한다는 것이다. 일단 그 경우를 제외하고 생각해보자. 먼저 와인은 3잔 연속 먹을 수 없다. 따라서 현재 와인을 먹을 수 있는 경우는 1.. 2021. 2. 25.
[백준 - Java] 1463번 : 1로 만들기 문제 더보기 https://www.acmicpc.net/problem/1463] 정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지이다. X가 3으로 나누어 떨어지면, 3으로 나눈다. X가 2로 나누어 떨어지면, 2로 나눈다. 1을 뺀다. 정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최솟값을 출력하시오. 입력 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. 출력 첫째 줄에 연산을 하는 횟수의 최솟값을 출력한다. 1. 작게 만들면 가장 최소로 연산을 할 수 있을까? (X) 그렇다면 무조건 3으로 나눌 수 있으면 3으로 나누는 것이 가장 최고일 것. 3 나누기 > 2 나누기 > 1 빼기 이러한 우선순위로 연산을.. 2020. 5. 5.
반응형