FickleBoBo

[BaekJoon] 1094번 - 막대기 [Java][C++]

문제 링크 1. 문제 풀이 길이 $64$ 인 막대기를 가지고 길이 $X$ 인 막대기를 만들어야 하는데 현재 가지고 있는 막대기의 길이의 합이 $X$ 보다 크면 가지고 있는 막대기 중 길이가 가장 짧은 것을 절반으로 자르고, 자른 막대기 중 하나를 버리고 남은 막대기의 길이의 합이 $X$ 보다 크거나 같다면 자른 막대기 중 하나를 버리는 과정...

[BaekJoon] 3067번 - Coins [Java][C++]

문제 링크 1. 문제 풀이 $N$ 가지 동전을 무한히 사용할 수 있을 때 그 합이 $M$ 이 되는 경우의 수를 구하는 문제다. 일종의 무한 배낭 문제 로 여기서는 최댓값이 아닌 모든 경우의 수를 구해야 한다. 경우의 수는 현재 동전을 고려하는 상황에서 현재 동전을 사용하지 않을 경우 이전 동전들로만 만들 수 있었던 경우의 수만큼은 만들 수...

[BaekJoon] 2294번 - 동전 2 [Java][C++]

문제 링크 1. 문제 풀이 $n$ 가지 동전을 적당히 사용해서 가치의 합이 $k$ 원이 될 때, 사용한 동전의 개수가 최소가 되는 경우를 찾는 문제로 동전을 여러 번 사용할 수 있으니 무한 배낭 문제 로 해결할 수 있다. 배낭의 크기가 현재 동전의 가치보다 작다면 담을 수 없고, 현재 동전의 가치보다 크거나 같다면 안 담는 경우와 담는 경우...

[BaekJoon] 2293번 - 동전 1 [Java][C++]

문제 링크 1. 문제 풀이 $n$ 가지 동전을 무한히 사용할 수 있을 때 그 합이 $k$ 이 되는 경우의 수를 구하는 문제다. 일종의 무한 배낭 문제 로 여기서는 최댓값이 아닌 모든 경우의 수를 구해야 한다. 경우의 수는 현재 동전을 고려하는 상황에서 현재 동전을 사용하지 않을 경우 이전 동전들로만 만들 수 있었던 경우의 수만큼은 만들 수...