-문제: https://www.acmicpc.net/problem/10162

 

10162번: 전자레인지

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

www.acmicpc.net

답지 안 보고 풀었음 

 

-정답풀이: 

 

  • 이전에 동전개수 구하는 문제와 비슷한 맥락이고, 다른 점은 세가지 수로 표현이 안될때 -1 출력하는 것이었는데
  • -1이 출력되는 경우는 가장 마지막 수인 10으로 나누어지지 않을 때이다. 
  • 그래서 시작 부분에 그 부분을 확인하고 넘어가는 코드를 추가했다
n=int(input())
s=[300,60,10]
ans=[]

if n%10 !=0:
    print(-1)
else: 
    for i in s:
        if n//i !=0:
            ans.append(n//i)
            n=n%i
        else:
            ans.append(0)

for i in ans:
    print(i, end=' ')

 

- 6/26 풀이: 

 

크게 어렵지 않았던 문제. 

마지막에 print(ans)로 했다가 틀려서 고친 후 돌려봤더니 정답이 떴다. 

n=int(input())
units=[300,60,10]
ans=[0 for _ in range(3)]

for i in range(3) :
    if n // units[i] :
        ans[i] += n // units[i]
        n -= units[i]*(n//units[i])
        
if n !=0 :
    print(-1)
else:
    print(ans[0],ans[1],ans[2])

+ Recent posts