BOJ/백준-10162-python

cosmos·2021년 6월 18일
0
post-thumbnail
post-custom-banner

문제📖

풀이🙏

  • 첫 번째 줄에는 요리시간 T(초)가 정수로 주어진다.
  • A B C에 지정된 시간은 5분, 1분, 10초이다.
  • A B C를 누른 횟수의 합은 항상 최소가 되어야한다.
  • 여러분은 T초를 위한 최소버튼 조작의 A B C 횟수를 첫 줄에 차례대로 출력해야 한다.
  • 각각의 횟수 사이에는 빈 칸을 둔다.
  • 해당 버튼을 누르지 않는 경우에는 숫자 0을 출력해야 한다.
  • 만일 제시된 3개의 버튼으로 T초를 맞출 수 없으면 음수 -1을 첫 줄에 출력해야 한다.

코드💻

# boj, 10162 : 전자레인지, python3
# 그리디 알고리즘
import sys

def microwave(time):
    result = [0, 0, 0]  # 300s, 60s, 10s
    button = [300, 60, 10]
    
    if time%10 != 0:
        return -1
    
    for i in range(len(button)):
        result[i] += time // button[i]
        time %= button[i]
    
    return ' '.join(map(str, result))

T = int(sys.stdin.readline())

print(microwave(T))

결과😎

출처 && 깃허브📝

boj
github

post-custom-banner

0개의 댓글