jyamethyst21 님의 블로그

백준 2839번- '설탕 배달' (PYTHON 풀이) 본문

CODING 💻

백준 2839번- '설탕 배달' (PYTHON 풀이)

jyamethyst21 2025. 11. 7. 17:13

문제:

 

문제대로 3키로와 5키로 설탕이 있을 때 최소로 배달이 가능한 개수를 구해서 실행하면 된다.

 

풀이:

N = int(input())
result = -1 

for i in range(N // 5, -1, -1): 
    rest = N - (5 * i)
    if rest % 3 == 0: 
        j = rest // 3
        result = i + j
        break  

print(result)

우선 필자는 5키로를 기준으로 잡아서 진행했다. 5키로를 기준으로 가장 많이 가질 수 있는 개수를 센 뒤 남은 수를 또 3으로 나눠서 떨어지면 5키로+3키로 조합이 가능한 것이므로 그렇게 계산해서 나눈 값을 j에 넣었다. 그 후 두 값을 더해서 출력하도록 했다. 그 다음 break를 넣어서 탈출시키고 만약 아예 나눠떨어지지 않는 경우는 for문은 들어갈지언정 if문에 들어갈 수 없으므로 초기에 설정한 -1이 출력되도록 작성하였다.