[C++] 백준 2839번 풀이 (설탕배달)

정민경·2023년 1월 4일
0

baekjoon

목록 보기
4/57
post-thumbnail

- 문제 (2839번) : 설탕배달

  • 배달해야하는 설탕의 무게를 입력받았을 때 가져갈 수 있는 최소 봉지의 수를 출력하는 문제.
  • 배달할 수 있는 봉지는 5kg과 3kg 두가지 종류의 봉지만 있음.

- 입력 및 출력

[입력]

  • 배달해야하는 설탕의 무게 입력 ( kg )

[출력]

  • 배달하는 봉지의 최소 개수 출력 ( 봉지는 5kg과 3kg으로 배달 가능 )

- 풀이

  • 배달하는 봉지의 최소 개수를 구하는 문제이므로 5kg의 봉지를 최대한 많이 활용해야한다.
  • 배달할 수 있는 5kg의 최대 봉지개수에서부터 1개씩 줄여나가며 5kg과 3kg봉지만으로 딱 나눠떨어지는 봉지라면 봉지의 개수를 출력, 딱 나눠떨어지지 않으면 -1을 출력한다.

    - a : 최대로 가져갈 수 있는 5kg봉지의 개수

    - 5kg과 3kg의 봉지만으로 딱 나눠떨어지는 무게라면 다음과 같이 계산

    • 배달 시 가져갈 수 있는 5kg 봉지개수 + 3kg 봉지 개수
    • 만약 한번에 나눠떨어지지 않았다면 5kg 봉지의 개수를 1개씩 줄여 계산

    • 0개의 5kg의 봉지와 3kg의 봉지로 딱 나눠떨어지지 않는 무게라면
      => -1 출력


- 최종코드


- 참고 자료

0개의 댓글