[BOJ] 18352번 설탕 배달

곌로그·2023년 10월 17일
0

[python]코딩테스트

목록 보기
20/34
post-thumbnail

문제 링크


문제 요약

그리디 문제 에 해당한다.
상근이는 설탕공장에서 N킬로그램의 설탕을 배달. 설탕은 3킬로그램 봉지와 5킬로그램 봉지에 담겨져 있고 상근이는 최소한의 봉지를 사용하여 설탕을 배달하려고 함. 따라서 주어진 N킬로그램의 설탕을 가장 적은 봉지로 어떻게 배달할 수 있는지를 구하는 문제.

문제 풀이

✅ 비교적 간단한 그리디 문제 이다. While 문을 사용해서 5kg으로 담을 수 있는 방법을 계산해주고 5로 나누어 떨어지지 않는다면 전체 kg에서 3을 빼준다.


# 3킬로그램 봉지와 5킬로그램 봉지
# 입력 : 18 출력: 4
N = int(input())

answer = 0

while N>0:
    if N % 5 == 0: # 나눈 값이 5로 나누어 떨어진다면, 
        answer += (N//5)
        N = 0
    else:
        # 5로 안 나누어 떨어진다면, 
        N -=3
        answer +=1
        if N < 0:
            answer = -1

print(answer)

0개의 댓글