백준 11052 : 카드 구매하기

혀니앤·2021년 2월 21일
0

C++ 알고리즘

목록 보기
24/118

★★☆☆☆

다른 dp문제와 동일한 방식의 문제.
말을 복잡하게 해놓았지만 단순하다.

<나의 풀이>

처음에 알고리즘을 짤 때, 어려웠던 부분은 같은 카드팩을 여러개 사는 경우도 있을 수 있다는 거였는데,
다시 생각해보니 앞에 했던 자연수의 합? 6=1+1+2+2 이런식으로 표현했던 그 문제와 결이 비슷했다.
마지막에 사는 카드팩의 장수가 j라고 한다면, j의 값을 0부터 i까지 늘려가면서 i개의 카드팩을 구매하고, 그 때의 max값을 채택하는 방식으로 코드를 구현했다.

즉, dp[i] = max(dp[i], dp[i - j] + dp[j]);

이번에도 다른 사람들과 코드가 같았다.

https://github.com/jeongopo/DaliyCodeCpp/commit/b5c7f465f3a91ed1f1e6e9a06c7def40443a59b3

profile
일단 시작하기

0개의 댓글