목록2023/08/25 (2)
Dazzling 개발 노트
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/czQJYM/btssbht6Vyw/L8SYFaC8vTmN0oNw5HXFT0/img.png)
[백준] 11052 - 카드 구매하기 (Java) 문제 https://www.acmicpc.net/problem/11052 풀이/후기 카드 N개를 구매하려고 할 때, 1개의 카드팩 구입 후 N-1개 카드 구입 2개의 카드팩 구입 후 N-2개 카드 구입 ... i개의 카드팩 구입 후 N-i개 카드 구입 N개의 카드팩 구입 후 0개 카드 구입 dp배열에는 카드 구매 시 최대 가격이 담겨진다. N개를 구매하고자 할 때 기본적으로 N개의 카드팩이 주어지니까 구입하고자 하는 카드의 개수(N)와 동일한 카드팩(N) 한개만 사는 경우가 존재한다. 즉, dp[N]의 기본값은 P[N]이다. 여기서 다른 개수의 카드팩을 조합하여 N개를 구매하는 경우를 고려한다. 위에서 생각한 것처럼 i개의 카드팩을 구매 후 N-i개를 추..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cZ5pmR/btssbBsBbuq/QSIrFS7ANZPkNUiYqXQtYk/img.png)
[백준] 1699 - 제곱수의 합 (Java) 문제 https://www.acmicpc.net/problem/1699 풀이/후기 일단 필요한 제곱수를 미리 계산해서 num배열에 넣어주었다. num = {1,4,9,...} 처음에 생각한 점화식(오답) dp[i] = Math.min(i / num[j] + i % num[j], dp[i]); 점화식을 찾아낸 것에 뿌듯해하고 있었는데, 13에서 예외 상황이 발생했다. 내 점화식대로 하면 4 + 4 + 4 + 1 그러나 13은 9 + 4로 바로 표현될 수 있다. 제곱수끼리의 합으로 표현되는 경우인데 원래 점화식에서 이 부분만 수정을 해줄까 했으나 결국 점화식이 틀려서 발생된 상황이라 새로운 접근법을 생각해야 했다. dp[i] = Math.min(dp[i - nu..