728x90
문제
문제 링크 : https://www.acmicpc.net/problem/16917
16917번: 양념 반 후라이드 반
현진 치킨에서 판매하는 치킨은 양념 치킨, 후라이드 치킨, 반반 치킨으로 총 세 종류이다. 반반 치킨은 절반은 양념 치킨, 절반은 후라이드 치킨으로 이루어져있다. 양념 치킨 한 마리의 가격은
www.acmicpc.net
CODE
a, b, c, x, y = map(int, input().split())
if a + b < 2 * c:
print(a * x + b * y)
else:
print(2 * c * min(x, y) + min(a, 2 * c) * max(0, x - y) + min(b, 2 * c) * max(0, y - x))
풀이
후라이드와 양념을 각각 한마리씩 사는 것보다 반반으로 두마리를 사는 것이 비싼 경우, 그냥 각각 구매!
그렇지 않다면, 후라이드와 양념 중 적은 종류의 수만큼 전부 반반으로 사고, 남은 수를 따로 구매한다
처음에는 다음과 같이 구현했지만
print(2 * c * min(x, y) + a * max(0, x - y) + b * max(0, y - x))
예제 입력 3을 돌려봤을 때, ((2 * 500 * 90000) + 2000 * 10000) = 110000000 으로 오답이 나옵니다ㅠㅠ
이 경우는 반반 두마리가 양념치킨 한마리보다 싸기 때문에!
양념치킨을 따로 구매하지 않고 전부 반반치킨으로 구매하게 됩니다
X, Y마리 만큼 정확하게 구매하는 것이 아니라, 최소 X, Y마리를 구매하는 것이기 때문에
이를 고려하여 다음과 같이 코드를 변경하였습니다
print(2 * c * min(x, y) + min(a, 2 * c) * max(0, x - y) + min(b, 2 * c) * max(0, y - x))
결과
728x90
'Baekjoon' 카테고리의 다른 글
[BOJ / 백준] 16938번 캠프 준비 파이썬(Python) 문제 풀이 (0) | 2021.07.25 |
---|---|
[BOJ / 백준] 16937번 두 스티커 파이썬(Python) 문제 풀이 (5) | 2021.07.23 |
[BOJ / 백준] 16936번 나3곱2 파이썬(Python) 문제 풀이 (0) | 2021.07.23 |
[BOJ / 백준] 16922번 로마 숫자 만들기 파이썬(Python) 문제 풀이 (0) | 2021.07.21 |
[BOJ / 백준] 16968번 차량 번호판 1 파이썬(Python) 문제 풀이 (0) | 2021.07.20 |