난이도: 골드 III
문제 링크: https://www.acmicpc.net/problem/1943
1943번: 동전 분배
세 개의 입력이 주어진다. 각 입력의 첫째 줄에 동전의 종류 N(1≤N≤100)이 주어진다. 각 입력의 둘째 줄부터 N+1째 줄까지 각각의 동전의 금액과 개수가 빈 칸을 사이에 두고 주어진다. 단, 원장선
www.acmicpc.net
DP를 통해 접근할 수 있는 문제입니다.
그리디로 왜 안 되는지는... 잘 모르겠네요 ㅠ
모든 동전의 값의 합을 먼저 구하고,
이것이 홀수라면 반으로 나눌 수 없으므로 0을 출력하고 넘어갑니다.
짝수라면, 총 값의 반을 최대 기준으로, 만들 수 있다면 해당 테이블에 1을 기록하며 진행합니다.
이전 인덱스의 값을 참조하여 진행하기 때문에 탑-다운 방식으로 접근합니다.
ㅋㅋㅋㅋ
제가 코드 하나를 loop 밖에 적는 바람에 몇번 틀렸습니다 ㅠ
모든 동전의 값의 합이 홀수일 때 0이 두 번 출력되는 문제였어요.
'알고리즘, 문제해결 > 알고리즘 문제풀이' 카테고리의 다른 글
[프로그래머스] 여행경로 (0) | 2021.10.02 |
---|---|
[백준 1856번] 웜홀 (0) | 2021.10.02 |
[백준 1823번] 수확 (0) | 2021.09.29 |
[프로그래머스] 최소직사각형 (0) | 2021.09.27 |
[백준 1727번 문제] 커플 만들기 (0) | 2021.09.26 |
댓글