[백준] 2839 - 설탕 배달 / 파이썬

N을 5, 3으로 나눴을 때 최소 몫을 구하면 된다.

n = int(input()) #입력값을 받아온다.
count = 0 #몫을 카운트 해주기 위해 count 변수를 만든다.

while n >= 0:
    if n % 5 == 0: #n을 5로 나눴을 때 나머지가 0이라면
        count += (n // 5) #5로 나눈 몫을 count에 더한다.
        print(count)
        break
    n -= 3 #나머지가 0이 아니라면 3을 빼준뒤
    count += 1 #count에 1을 더한다.
else:
    print("-1") #정확히 0으로 나눠지지 않으면 -1을 출력

n -= 3을 하는 이유는 n이 5로 나눠질때까지 3을 뺴면 if문으로 바로 빠져나오기 위해서다.
ex) 28이면 n-3으로 n=25 count=1. while문 처음으로 가면 25를 5로 나누면 나머지가 0이므로
5로 나눈 몫을 count에 더하여 출력하면 된다.

좋은 웹페이지 즐겨찾기