기타줄 문제는 그리디 알고리즘으로 해결한다.
적어도 끊어진 기타줄 만큼 구매할 수 있는 최소한의 돈을 출력하면 된다.
1. 패키지로 구매할 수 있는 최소값, 개당으로 구매할 수 있는 최소값을 구하고,
2. 패키지로 구매하는 것보다, 개당구매로 6개를 구매하는 것이 더 싼지 확인하고,
3. 끊어진 기타줄 만큼 패키지 구매 + min(개당 구매, 패키지구매)
적어도 끊어진 기타줄 만큼 구매이기 때문에 더 구매해도 되는 것을 생각해서 마지막에 패키지 구매가 최소값인지 확인하면 된다.
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준][BFS] 1600 말이되고픈 원숭이 (0) | 2019.01.09 |
---|---|
[백준][그리디] 1931 회의실 배정 (0) | 2018.09.18 |
[백준][투포인터] 2003 수들의 합2 (0) | 2018.06.21 |
[백준][다이나믹] 2193 이친수 (0) | 2018.06.19 |
[백준][스택] 10828 스택 (0) | 2018.06.19 |