[BOJ/백준] 2839번 설탕 배달 C++ 문제 풀이

2020. 11. 5. 03:12·Baekjoon/단계별로 풀어보기
728x90

단계별로 풀어보기 - 수학 1 단계 - [2단계] 2839번

문제

문제 링크 : www.acmicpc.net/problem/2839

 

2839번: 설탕 배달

상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그

www.acmicpc.net

입력 복사 : 

> 예제 입력 1

18

> 예제 입력 2

4

> 예제 입력 3

6

> 예제 입력 4

9

> 예제 입력 5

11

 

풀이

최소의 봉지로 배달하기 위해서는 5kg짜리 봉지를 최대한 활용해야 한다.

따라서 5kg짜리 봉지를 최대로 활용하는 횟수를 시작으로 한다.

 

5kg를 활용한 횟수를 뺀 N이 3kg으로 나눠지면, 바로 정답을 출력합니다.

나누어 떨어지지 않으면,

5kg으로 나눈 횟수를 줄이고 3kg으로 나눈 횟수를 늘리는 과정을 3kg으로 나누어 떨어질 때까지 반복합니다.

 

하지만 반복이 계속되어 5kg으로 나눈 횟수가 음수가 된다면,

-1을 출력하고 return하여 종료합니다.

 

CODE

#include <iostream>
using namespace std;

int main() {
	int N;
	int div_five, div_three;	//5, 3으로 배달한 횟수를 저장할 변수
	cin >> N;

	div_five = N / 5;
	while (1) {
		if (div_five < 0) {
			cout << -1 << endl;
			return 0;
		}
		if ((N - (5 * div_five)) % 3 == 0) {
			div_three = (N - (5 * div_five)) / 3;
			break;
		}
		div_five--;
	}
	cout << div_five + div_three << endl;
	return 0;
}

 

결과

728x90
저작자표시 (새창열림)

'Baekjoon > 단계별로 풀어보기' 카테고리의 다른 글

[BOJ/백준] 1193번 분수찾기 C++ 문제 풀이  (3) 2020.11.05
[BOJ/백준] 2292번 벌집 C++ 문제 풀이  (0) 2020.11.05
[BOJ/백준] 1712번 손익분기점 C++ 문제 풀이  (0) 2020.11.04
[BOJ/백준] 1316번 그룹 단어 체커 C++ 문제 풀이  (0) 2020.10.26
[BOJ/백준] 2941번 크로아티아 알파벳 C++ 문제 풀이  (1) 2020.10.26
'Baekjoon/단계별로 풀어보기' 카테고리의 다른 글
  • [BOJ/백준] 1193번 분수찾기 C++ 문제 풀이
  • [BOJ/백준] 2292번 벌집 C++ 문제 풀이
  • [BOJ/백준] 1712번 손익분기점 C++ 문제 풀이
  • [BOJ/백준] 1316번 그룹 단어 체커 C++ 문제 풀이
s_ih_yun
s_ih_yun
  • s_ih_yun
    CODESYUN
    s_ih_yun
  • 전체
    오늘
    어제
    • 분류 전체보기 (326)
      • Computer Science (26)
        • Concept (3)
        • Algorithm (23)
      • Web (54)
        • Web (7)
        • Spring (14)
        • MyBatis (1)
        • AWS (7)
        • HTML & CSS (14)
        • JavaScript (11)
      • Programming (37)
        • C++ (3)
        • Java (6)
        • Python (10)
        • MySQL (1)
        • Oracle (2)
        • Git (15)
        • Dev Tools (0)
      • Infra˙ DevOps (1)
      • Baekjoon (104)
        • 단계별로 풀어보기 (78)
      • CodeUp (98)
        • Python 기초 100제 (98)
      • Programmers (2)
      • Books (3)
      • etc (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • Syun's Pages
  • 인기 글

  • 태그

    SourceTree
    VS Code
    CSS
    자료구조
    clean code
    db
    Python
    CodeUp 기초 100제
    codeup
    oracle
    Tistory
    MySQL
    aws
    C
    git
    단계별로 풀어보기
    java
    Programmers
    spring
    BOJ
    Cloud
    github
    c++
    웹
    web
    myBatis
    JavaScript
    HTML
    알고리즘
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
s_ih_yun
[BOJ/백준] 2839번 설탕 배달 C++ 문제 풀이
상단으로

티스토리툴바