문제
JOI군이 살고 있는 지역에는 X사와 Y사, 두 개의 수도회사가 있다. 두 회사의 수도요금은 한 달간 수도의 사용량에 따라 다음과 같이 정해진다.
- X사 : 1리터당 A엔.
- Y사 : 기본요금은 B엔이고, 사용량이 C리터 이하라면 요금은 기본요금만 청구된다. 사용량이 C리터가 넘었을 경우 기본요금 B엔에 더해서 추가요금이 붙는다. 추가요금은 사용량이 C리터를 넘었을 경우 1리터를 넘었을 때마다 D엔이다.
JOI군의 집에서 한 달간 쓰는 수도의 양은 P리터이다.
수도요금이 최대한 싸게 되도록 수도회사를 고를 때, JOI군의 집의 1달간 수도요금을 구하여라.
입력
입력은 5줄이고 한 줄에 하나씩 정수가 입력된다.
- 첫 번째 줄에는 X사의 1리터당 요금 A가 입력된다.
- 두 번째 줄에는 Y사의 기본요금 B가 입력된다.
- 세 번째 줄에는 Y사의 요금이 기본요금이 되는 사용량의 상한 C가 입력된다.
- 네 번째 줄에는 Y사의 1리터 당 추가요금 D가 입력된다.
- 다섯 번째 줄에는 JOI군의 집에서 사용하는 한 달간 수도의 양 P가 입력된다.
입력되는 정수 A,B,C,D,P는 전부 1 이상 10000 이하이다.
출력
JOI군의 집에서 지불하는 한 달간 수도요금을 첫째 줄에 출력한다.
예제 입력 1 복사
9
100
20
3
10
예제 출력 1 복사
90
예제 입력 2 복사
8
300
100
10
250
예제 출력 2 복사
1800
import sys
sys.stdin = open("2_3_20220810_백준_10707_수도요금.txt", "r")
A = int(input()) #X사의 1리터당 요금 A가 입력
B = int(input()) #Y사의 기본요금 B가 입력
C = int(input()) #Y사의 요금이 기본요금이 되는 사용량의 상한 C가 입력
D = int(input()) #Y사의 1리터 당 추가요금 D가 입력
P = int(input()) #JOI군의 집에서 사용하는 한 달간 수도의 양 P
ASum = A * P #X사 : 1리터당 A엔
Bsum = 0
#사용량이 C리터 이하라면 요금은 기본요금만 청구
if P <= C :
Bsum = B
#사용량이 C리터가 넘었을 경우 기본요금 B엔에 더해서 추가요금
#추가요금은 사용량이 C리터를 넘었을 경우 1리터를 넘었을 때마다 D엔
#P에서 B만큼 초과하는 양 계산
else :
Bsum = B + ((P-C) * D)
print(min(ASum, Bsum))
#문제
#x사 1리터랑 a원
#y사 기본요금 b원, 사용량이 c이하면 기본요금만 청구
#사용량이 c리터가 넘으면, 기본요금 + b원
#추가요금은 사용량이 c리터를 넘었을 경우 1리터를 넘을때 마다 D원
#최대한 싸게 수도요금
# 9 -> X사의 1리터당 요금 A
# 100 -> Y사의 기본요금 B
# 20 -> Y사의 요금이 기본요금이 되는 사용량의 상한 C
# 3 -> Y사의 1리터 당 추가요금 D
# 10 -> JOI군의 집에서 사용하는 한 달간 수도의 양 P
#X사는 그냥 A * P
#Y사는
#P가 B이하인 경우 B
#P가 C이하인 경우 P * D
'코테풀이 > 쉬움 or 완전탐색' 카테고리의 다른 글
[프로그래머스 | 0단계] 다음에 올 숫자 (0) | 2022.11.24 |
---|---|
[백준 | 브론즈2] 13300 : 방 배정(수학, 구현) (0) | 2022.09.14 |
[프로그래머스 | 레벨2] 최솟값 만들기(두개를 오름차순, 내림차순 해서 연산) (0) | 2022.04.20 |
[프로그래머스 | 2단계] 124 나라의 숫자 (0) | 2022.04.08 |
[백준 | 실버5] 12033번: 김인천씨의 식료품가게 (Small) (0) | 2022.03.14 |
[백준 : 브론즈3] 10707 : 수도요금