Back/Algorithm

Python 백준 알고리즘 2839 설탕배달 파이썬

Python 백준 알고리즘 2839 설탕배달 파이썬

 

www.acmicpc.net/problem/2839

 

2839번: 설탕 배달

상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그

www.acmicpc.net


처음에 한 뻘 짓

#입력값

n = int(input())
a = 3
b = 5

if n % 5 == 0:
    print(n // 5)

elif n % 5 == 3:
    print(int(n%5 + 1))

elif n%5 <= 4 and n%3 ==0:
    print(n // 3)

elif n%5 < 3 and n%3 == 2:
    print(int(n%5 + n%3))

else:
    print(-1)

5로 나누면 어차피 나머지가 1~4니까 그걸 활용해서 풀려했다ㅋ

 

가내수공업 코드 ㅋ


수정

n = int(input())

m = 0
while n >= 0 :
    if n % 5 == 0 :
        m += (n // 5)  # 
        print(m)
        break
    n -= 3
    m += 1  #
else :
    print(-1)

n을 입력값으로 받고,

 

m 은 가방의 수를 카운팅한다.

 

while문을 돌리고,

n이 5의 배수면 바로 print 해주고, break로 while문을 탈출한다.

 

5로 떨어지지 않는다면

 

n을 5의배수가 될 때까지 3씩 계속 빼준다.

 

3씩 뺀 것은, 설탕 봉지를 하나 든 것이니, m에 +1을 해준다.

 

만약 3을 뺄 때까지 모든 조건을 만족시킬 수 없다면

-1을 print 해준다.