TIL 42|送糖(標準2839 python)

2497 ワード

🚀問題のショートカット

方法


問題の要求に応じて袋の数を減らすためには、5 kgパックの数を最大限に増やすべきです.
Nを5で割った後,残りが3の倍数でなければ,1つのシェアを減らして1つの値を求める.

正しいコード

import sys
r=sys.stdin.readline

n=int(r())
quotient_5 = n//5
remainder_5  = n%5

while True:
    if quotient_5 < 0: #문제조건 : 값을 만들 수 없다면 -1을 출력한다.
        print(-1)
    elif remainder_5%3 ==0:
        quotient_3 = remainder_5//3
        print(quotient_5+quotient_3)
    else:  #나머지가 3으로 떨어지지 않으면 몫과 나머지를 조정한다.
        quotient_5-=1
        remainder_5+=5