728x90
문제 1267. 핸드폰 요금
1. 나의 코드와 발상 과정
n = int(input())
calltime = list(map(int, input().split()))
# 영식 요금제 y
yfee = 0
for i in range(len(calltime)) :
yfee = yfee + (calltime[i] // 30) * 10
if (calltime[i] % 30) < 30 :
yfee += 10
else :
yfee += 20
# 민식 요금제 m
mfee = 0
for i in range(len(calltime)) :
mfee = mfee + (calltime[i] // 60) * 15
if (calltime[i] % 60) < 60 :
mfee += 15
else :
mfee += 30
if yfee < mfee :
print("Y", yfee)
elif mfee < yfee :
print("M", mfee)
else :
print("Y", "M", yfee)
발상은 간단하다. 각 요금제가 월 요금을 계산하는 식을 쓰고, yfee, mfee라는 총합을 받는 변수에 그 결과값을 담아서
마지막 라인에서 yfee가 더 저렴할 때, mfee가 저렴할 때와 그 이외의 결과(값이 같을 때)를 나누어 결과를 출력하도록 한다.
2. 아쉬운 점
지금이야 경우의 수가 그렇게 많지 않아 if 돌려막기를 할 수 있겠지만,
며칠만 지나도 for와 if로 돌려막을 수 없을 것이다.
물론 쉬운문제는 쉽게 풀어야 하고, 어려운 문제는 어렵게 풀어야 하기에
쉬운 방법도 충분히 연습해두어야 한다. 숙달이 될 수 있도록.
아쉬운 점을 정확하게 짚을 수는 없는데,
왠지 아쉽다.
728x90
'Problem Solving' 카테고리의 다른 글
[백준] 2231 분해합 python 알고리즘 문제 (0) | 2022.04.20 |
---|---|
[백준] 10250 ACM 호텔 python 알고리즘 문제 (0) | 2022.04.20 |
[백준] 2839 설탕 배달 python 알고리즘 문제 (0) | 2022.04.18 |
[백준] 1546. 평균 python 알고리즘 (0) | 2022.04.18 |
[백준] 8958 OX 퀴즈 python 알고리즘 (0) | 2022.04.17 |
댓글