[ Python Coding ] 백준 10162. 전자레인지

문제

입력 및 출력

실행 코드

t = int(input())
a = 0
b = 0
c = 0

while True:
    if t >= 300:     # 5분 = 300초
        t -= 300
        a += 1
        
    elif t >= 60:    # 1분 = 60초
        t -= 60
        b += 1
        
    elif t >= 10:    # 10초
        t -= 10
        c += 1
        
    elif t == 0:     # t가 0초일 때
        print(a, b, c)
        break
        
    else:            # t가 10보다 작은 경우
        print(-1)
        break

풀이

최소 버튼 조작 방법을 구해야한다.

  1. 가장 큰 시간을 가지고 있는 A버튼을 누를 수 있는지 확인한다.
  2. A버튼을 누르지 못한다면 B버튼을 누를 수 있는지 확인한다.
  3. B버튼도 못누르면 C버튼은 가능한지 확인한다.
  4. 1~3에서 확인했을 때, 버튼을 누를 수 있다면 해당 초를 t에서 빼주고(잔여 시간을 인지하기 위해), 해당 버튼의 개수를 센다.
  5. 그렇게 차감된 요리시간 t가 0이 되는 순간, 반복문을 빠져나오고 버튼의 개수를 출력한다.
  6. 만약 t가 C도 못누르는 10보다 작고 0도 아니라면, 반복문을 탈출하면서 -1을 출력한다. (요리시간이 남았음)

[ 문제 링크 ]
https://www.acmicpc.net/problem/10162

좋은 웹페이지 즐겨찾기