정올/KOI기출 문제

정올 피자 오븐

juwanseo 2025. 5. 6. 21:40

문제
예제

t = int(input())
for _ in range(t):
    n = int(input())
    answer = [0 for _ in range(5)]
    sixty, ten, one = n//60, (n%60)//10, n%10
    if one > 5:
        ten += 1
        one -= 10
    if ten > 3:
        sixty += 1
        ten -= 6
    if ten < 0 and one == 5:
        ten += 1
        one -= 10
    answer[0] = sixty
    if ten >= 0:
        answer[1] = ten
    else:
        answer[2] = abs(ten)
    if one >= 0:
        answer[3] = one
    else:
        answer[4] = abs(one)
    print(*answer)

sixty: 60초 단위로 나눈 몫 (정수분)

ten: 10초 단위로 나눈 몫

one: 1초 단위로 남은 값

예: n = 125일 때

60초 버튼 2번 (60 * 2 = 120)

10초 버튼 0번

5초 남음 → 1초 버튼 5번?

 

 

1초 버튼을 6번 이상 누를 바에야 10초 버튼 1번 누르고 1초 버튼을 감소시키는 게 더 낫다.

one > 5이면 → 10초 버튼 하나 추가하고, 1초는 그만큼 줄인다.

 

10초 버튼을 4번 이상 누를 바에야 → 60초 버튼을 누르고, 10초 버튼을 빼는 게 더 효율적

 

 

위의 조정으로 ten이 음수가 될 수 있음

하지만 one == 5라면, 1초 버튼 5번보단 10초 버튼 1번이 나으므로 이 조건이 추가 조정 역할

 

 

 

 

버튼 조작 횟수 5개를 공백으로 출력

'정올 > KOI기출 문제' 카테고리의 다른 글

정올 나누기  (0) 2025.05.06
정올 지우개  (0) 2025.05.06
정올 박 터트리기  (0) 2025.05.06
정올 회문  (0) 2025.05.06
피하자  (0) 2025.04.24