본문 바로가기

알고리즘/백준알고리즘

[백준 알고리즘/Python3] 2839 설탕배달

문제 이해

처음에 5의 배수, 3의 배수가 되는 것을 찾고 

 

그 외에 5의 배수의 나머지 값이 3의 배수인 것을 모두 찾았지만 

문제를 잘못 접근 한거 같다.

 

처음에 5의 배수를 찾고 없다면 3을 빼면서 가방을 +1하고 그래도 5의 배수가 없다면 -1을 출력하는 방식이였다.

 

코드

n = int(input())
result = 0

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

n은 주어진 값입니다..

 

result는 포대의 갯수입니다.

 

while문으로 주어진 수가 음수 또는 0이된다면 -1을 출력합니다.

if문으로 5의배수를 찾고 5로 나눈 몫을 가방 수에 더합니다.

 

없다면 3의 가방을 빼면서 3의 가방을 하나씩 더합니다.

 

가방을 딱 나눌 수 있따면 break로 while문이 끝날 것입니다.

 

아니면 else문으로 -1이 출력됩니다.

728x90