본문 바로가기

다이나믹2

[Java] BOJ 9084번 동전 9084번: 동전 우리나라 화폐단위, 특히 동전에는 1원, 5원, 10원, 50원, 100원, 500원이 있다. 이 동전들로는 정수의 금액을 만들 수 있으며 그 방법도 여러 가지가 있을 수 있다. 예를 들어, 30원을 만들기 위해서는 www.acmicpc.net 풀이 DP를 사용하여 해결했습니다. 문제에서 주어진 수는 너무 큰 관계로 3개의 동전 2원, 3원, 5원으로 10원을 만드는 경우를 구해보겠습니다. 1 2 3 4 5 6 7 8 9 10 2원 0 1 0 1 0 1 0 1 0 1 2원의 경우 위와 같은데 이때, 총경우의 수를 구해야 하므로 구한 결괏값을 그대로 유지하고 새로 갱신을 해나가야 합니다. 다음으로 3원의 경우를 보겠습니다. 예를 들어, 3원의 경우 앞서 2원으로 만들 수 있는 경우의 수들.. 2021. 7. 16.
[Java] BOJ 9465번 스티커 9465번: 스티커 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 두 줄에는 n개의 정수가 주어지며, 각 정수는 그 위치에 해당하는 스티커의 www.acmicpc.net 풀이 처음 스티커를 선택하는 경우는 각각의 스티커를 가져오게 했습니다. 그다음으로 이전 스티커를 선택했다면 이전에 뗄 수 있는 스티커까지 즉, 만약 현재 스티커의 i가 0이라면 memo[1][i - 1]을 i가 1이라면 memo[0][i - 1]의 값을 가져오게 했습니다. 마지막으로 이전 스티커를 선택하지 않는 경우에는 그 이전까지 뗄 수 있는 스티커까지 즉, memo[0][j - 2], memo[0][j - 1] 중 큰 값을 가져와 이전 스티커를 선.. 2021. 4. 21.