반응형
Baekjoon Online Judge의 10233번 Tax Rate Changed 문제의 Python 풀이입니다.
10233번: Tax Rate Changed
The input consists of multiple datasets. Each dataset is in one line, which consists of three integers x, y, and s separated by a space. x is the VAT rate in percent before the VAT-rate change, y is the VAT rate in percent after the VAT-rate change, and s
www.acmicpc.net
💻코드
import sys
input = sys.stdin.readline
while True:
# x(변경 전 VAT), y(변경 후 VAT), s(변경 전 총 세후 가격)
prev_vat_rate, new_vat_rate, total_after_tax_before = map(int, input().split())
if prev_vat_rate == 0 and new_vat_rate == 0 and total_after_tax_before == 0:
break
# 최대 총 세후 가격을 저장할 변수를 초기화한다.
max_total_after_tax_new = 0
# 모든 가능한 물품 가격 조합에 대해 반복한다.
for item1_price_before_tax in range(1, total_after_tax_before):
for item2_price_before_tax in range(1, total_after_tax_before):
# 조건에 맞는 물품 가격 조합인지 확인한다.
if item1_price_before_tax + item2_price_before_tax + \
(item1_price_before_tax * prev_vat_rate // 100) + \
(item2_price_before_tax * prev_vat_rate // 100) == total_after_tax_before:
# 새로운 VAT율을 적용한 세후 가격을 계산한다.
item1_after_tax_new = item1_price_before_tax + (item1_price_before_tax * new_vat_rate // 100)
item2_after_tax_new = item2_price_before_tax + (item2_price_before_tax * new_vat_rate // 100)
# 가능한 최대 총 세후 가격을 업데이트한다.
max_total_after_tax_new = max(max_total_after_tax_new, item1_after_tax_new + item2_after_tax_new)
# 계산된 최대 총 세후 가격을 출력한다.
print(max_total_after_tax_new)
🧠풀이
이 문제는 VAT(부가가치세)율이 변경된 후의 두 상품의 최대 가능 총 세후 가격을 찾는 것이다. 주어진 조건에 따라, 모든 가능한 두 상품의 세전 가격 조합을 탐색하여, 변경 전의 총 세후 가격이 일치하는 모든 조합을 찾는다. 각 조합에 대해 새로운 VAT율을 적용한 후, 가능한 최대 총 세후 가격을 계산한다. 이 과정에서 최대 값을 지속적으로 업데이트하며, 최종적으로 가능한 최대 총 세후 가격을 구한다.
🤔느낀 점
PyPy로 내야 통과한다... 잘못푼 것같은 기분이 들지만...
반응형
댓글