본문 바로가기
Algorithm Problem Solving/BaekJoon

[BaekJoon] 백준 2839 설탕 배달 (Python / 파이썬)

by ʚ⇜❅🎕̈❄⇝ɞ 2021. 8. 14.
728x90
반응형

BaekJoon 백준 2839 설탕 배달 문제는 사탕가게에 설탕을 배달해야 하는데, 설탕 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 설탕을 정확하게 N킬로그램 배달해야 할 때, 최대한 적게 가져갈 수 있는 봉지 수를 구하는 문제이다. 난이도는 Bronze 1이다.

 

BaekJoon 2839 설탕 배달 문제 정보

출처

- https://www.acmicpc.net/problem/2839

난이도

- 브론즈 1 / Bronze 1

 

설탕 배달 문제 요약

  • 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. (3 ≤ N ≤ 5000)
  • 설탕공장에서 만드는 설탕은 봉지에 담겨 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다.
  • 최대한 적은 봉지를 들고 가려면 봉지 몇 개를 가져가면 되는지 그 수를 구하여 출력한다.
  • 정확하게 N킬로그램을 만들 수 없다면 -1을 출력한다.

 

문제 풀이 과정

  1. 설탕 N kg으로 만들 수 있는 3kg, 5kg 각각의 봉지 수를 구한다.
  2. 3kg, 5kg 봉지 수를 늘려가며 Nkg과 딱 맞는 봉지 개수 비율을 구한다.
  3. 딱 맞았다면 총 봉지 개수를 딱 맞지 않으면 -1을 리턴한다.
  4. 테스트 케이스 번호, 봉지의 최소 개수를 출력한다.

 

코드 및 설명
def divide(kg):
    five = kg // 5
    three = kg // 3
    for i in range(three + 1):
        for j in range(five + 1):
            if (3 * i + 5 * j) == kg:
                return i + j
    return -1


N = int(input())
print(divide(N))

쉬운 문제도 너무 복잡하게 생각하는 경향이 있어 문제 푸는 시간이 오래 걸리는데, 얼른 경험을 많이 쌓아서 문제 해결 능력을 길러 시간을 단축해야겠다.

 

BaekJoon 백준 2839 설탕 배달 문제를 파이썬 python으로 풀어보았다. 난이도는 Bronze 브론즈 1이다.

728x90
반응형

댓글