백준 - 2839 (Python) - 설탕 배달

박준영·2021년 6월 16일
0
post-thumbnail

백준 2839

설탕 배달

상근이가 설탕배달을 하는데, 3kg 짜리 설탕 봉지와 5kg 짜리 설탕 봉지를 어떻게 조합하여 가장 적은 봉지의 개수로 배달을 완료할 수 있을지에 관한 문제다.

N = int(input())

result = 0

while True:
    if N % 5 == 0:
        result += (N // 5)
        print(result)
        break

    N -= 3
    result += 1

    if N < 0:
        print(-1)
        break

while에 조건식 대신 True를 지정하면 무한히 반복하는 무한 루프가 만들어진다.
조건식이 항상 참이니 끝없이 실행되는 것.
콘솔에서 무한 루프를 끝내고 싶다면 Ctrl + C 누르면 루프가 끝난다.
True 대신에 다른 값을 넣을 수 있다.
ex) 내용이 있는 문자열이나 0이 아닌 숫자는 True로 취급.

  • N(인풋으로 받은 배달해야할 설탕의 kg수)이 만약 5의 배수라면 5kg 봉지만으로도 배달이 가능하니 5kg 봉지의 수 만큼 result(봉지의 수)를 출력.
  • 5의 배수가 아니라면 계속해서 3을 빼주며(3kg 봉지의 수를 세는 방식의 하나) 5의 배수가 나오거나 N이 3보다 작아질 때(배달을 할 수 없는 상태)까지 계속해서 while문을 실행시킨다. 0보다 N값이 작아진다면 -1을 출력한다.(문제의 조건)

0개의 댓글