상세 컨텐츠

본문 제목

[백준/Python] 1267 : 핸드폰 요금

코딩테스트/백준

by 기며니 2021. 5. 22. 22:31

본문

728x90
728x90

💚 문제 설명

동호는 새악대로 T 통신사의 새 핸드폰 옴머나를 샀다. 새악대로 T 통신사는 동호에게 다음 두 가지 요금제 중 하나를 선택하라고 했다.

  1. 영식 요금제
  2. 민식 요금제

영식 요금제는 30초마다 10원씩 청구된다. 이 말은 만약 29초 또는 그 보다 적은 시간 통화를 했으면 10원이 청구된다. 만약 30초부터 59초 사이로 통화를 했으면 20원이 청구된다.

민식 요금제는 60초마다 15원씩 청구된다. 이 말은 만약 59초 또는 그 보다 적은 시간 통화를 했으면 15원이 청구된다. 만약 60초부터 119초 사이로 통화를 했으면 30원이 청구된다.

동호가 저번 달에 새악대로 T 통신사를 이용할 때 통화 시간 목록이 주어지면 어느 요금제를 사용 하는 것이 저렴한지 출력하는 프로그램을 작성하시오.

 

💙 입력

동호가 저번 달에 이용한 통화의 개수 N이 주어진다. N은 20보다 작거나 같은 자연수이다. 둘째 줄에 통화 시간 N개가 주어진다. 통화 시간은 10,000보다 작거나 같은 자연수이다.

 

💜 출력

첫째 줄에 싼 요금제의 이름을 출력한다. 그 후에 공백을 사이에 두고 요금이 몇 원 나오는지 출력한다. 만약 두 요금제의 요금이 모두 같으면 영식을 먼저 쓰고 민식을 그 다음에 쓴다.

영식은 Y로, 민식은 M으로 출력한다.

 

🖤 예제

입력 1

3
40 40 40

출력 1

M 45

 

입력 2

3
61 61 61

출력 2

Y M 90

 

💡 내 코드

N = int(input()) # 저번 달에 이용한 통화의 개수
arr = list(map(int, input().split())) # 통화 시간 N개

ys = 0 # 영수의 요금제
ms = 0 # 민식의 요금제

for a in arr:
  ys += ((a//30)+1)*10
  ms += ((a//60)+1)*15

if ys>ms: # 출력문
  print("M", ms)
elif ys<ms:
  print("Y", ys)
else:
  print("Y M", ys)

 

🙌 후기

+ int를 str로 바꿔줘야 합니다.

, 는 공백이 들어가는 대신 자료형을 변경하지 않아도 됩니다.

728x90
728x90

관련글 더보기

댓글 영역