본문 바로가기
Algorithm/Baekjoon

[백준/BOJ] 2839번 - 설탕 배달 (C++)

by shine-jung 2021. 7. 17.
반응형

문제 링크

 

코딩하기 전 생각하기

/*
n을 입력받는다.
n이 0이 될 때 까지 다음을 반복한다.
    n이 5로는 안나눠지는데 3으로는 나눠지면 3kg봉지를 하나 쓴다.
    위의 경우가 아니면 5kg봉지를 하나 쓴다.
    위의 경우가 아닌데 n이 5보다 작으면 -1을 출력하고 종료한다.
봉지의 개수를 출력한다.
*/

 


 

코드

#include <iostream>
#include <bits/stdc++.h>
using namespace std;

int main() {
    int n, count = 0;
    cin >> n;
    while ( n > 0 ) {
        if ( n % 5 != 0 && n % 3 == 0 ) {
            n -= 3;
            count++;
        }
        else if ( n >= 5 ) {
            n -= 5;
            count++;
        }
        else {
            cout << -1;
            return 0;
        }
    }
    cout << count;
}

 


 

느낀점

 

DP나 그리디로 푸는 문제라는데,, 나는 아직 이것들을 아는 단계가 아니다.

빨리 배워서 다시 풀어보자~!

 

(주의) 기록용으로 작성한 글입니다. 코드가 허접하거나 알고리즘의 효율이 낮을 수 있습니다.

댓글 환영합니다!

반응형

댓글