728x90
https://www.acmicpc.net/problem/10162
import sys
t = int(sys.stdin.readline())
time = [ 300, 60, 10 ] #1
res = []
for i in time:
res.append(t//i) #2
t %= i #3
if not t == 0: #4
print(-1)
else:
print(*res)
#1 : 전자레인지가 입력받을 수 있는 3가지 종류의 시간 입력받는 시간 t가 단위를 초로 입력받으니 5분은 300초로 1분은 60초로 바꾸어준다
#2 : 가장 큰 단위부터 몇번 입력했는지 출력해야 하므로 처음부터 순환하면서 나누기 연산의 값을 res에 추가해준다
#3 : t를 나머지 연산해서 갱신
#4 : 반복이 끝나고 t의 값이 0이 아니면 딱 떨어지지 않은 숫자가 t로 입력된것이기에 -1을 출력, 아니라면 res를 언패킹해서 출력한다
5585번(https://hgk5722.tistory.com/299) 거스름돈 문제와 비슷하다.
728x90
'[Coding Test] > [백준]' 카테고리의 다른 글
[백준] 1789 파이썬(python) : 수들의 합 - (★) (0) | 2022.08.17 |
---|---|
[백준] 16234 파이썬(python) : 인구 이동 (0) | 2022.08.17 |
[백준] 18428 파이썬(python) : 감시 피하기 - (★) (0) | 2022.08.17 |
[백준] 18405 파이썬(python) : 경쟁적 전염 - (★) (0) | 2022.08.16 |
[백준] 18352 파이썬(python) : 특정 거리의 도시 찾기 (0) | 2022.08.16 |