티스토리 뷰

반응형

https://www.acmicpc.net/problem/10162

 

10162번: 전자레인지

3개의 시간조절용 버튼 A B C가 달린 전자레인지가 있다. 각 버튼마다 일정한 시간이 지정되어 있어 해당 버튼을 한번 누를 때마다 그 시간이 동작시간에 더해진다. 버튼 A, B, C에 지정된 시간은

www.acmicpc.net

문제 접근

이 전에 풀어봤던 문제에서 조금 변형이 있다. 주어진 버튼 리스트 [300, 60, 10] 순서에 맞게 T를 나누고 몫을 카운트하면 최소 개수를 풀 수 있다. 하지만 -1을 출력하는 부분에서 예외 조건을 줘야 하는 것 같은데 이 부분은 많이 고민했다.

 

알고리즘

그리디 알고리즘

 

코드

T = int(input())
buttons = [300, 60, 10]
answer = []
if T % 10 !=0:
  print(-1)
else:
  for b in buttons:
    answer.append(T // b)
    T = T % b
  print(*answer)

근데 그냥 너무 어렵게 생각하지 말고 10의 배수가 아니면 -1이 출력하도록 했다. 끝~

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함