https://www.acmicpc.net/problem/10162
프로그래머스 레벨 2,,, 그리디,, 한 문제도 못풀고,,
백준 브론즈 그리디로 눈물 닦기,,
300초, 60초, 10초
세 버튼이 있을 때 가장 적게 버튼을 눌러서 T초를 만들 수 있는지 묻는 문제다.
300초 -> 60초 -> 10초 순으로 버튼을 누를 수 있는만큼 누르면 된다.
a, b, c = 300, 60, 10
a_c = (T // a)
T %= a
a_c
는 a
버튼을 누른 횟수이다.
즉, T
를 a
로 나눈 몫을 의미한다.
T
에 a
버튼을 누른 뒤 남은 시간을 넣어준다.
T
를 a
로 나눈 뒤 나머지를 의미한다.
이렇게 b, c도 반복해준 뒤 T 값이 0이 아니라면,
abc 버튼으론 T초를 만들 수 없다는 의미이므로 -1을 출력해주면 된다.
import sys
a, b, c = 300, 60, 10
T = int(sys.stdin.readline())
a_c = (T // a)
T %= a
b_c = (T // b)
T %= b
c_c = (T // c)
T %= c
if T != 0:
print(-1)
else:
print(a_c, b_c, c_c)