BEAKJOON

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

Shin_jisoo 2021. 1. 13. 00:10
728x90

www.acmicpc.net/problem/2839

 

2839번: 설탕 배달

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

www.acmicpc.net

1) 주석 없는 VERSION

#include <stdio.h>
#include <iostream>
#include <string>

using namespace std;

int main() {
	int n, cnt(0);
	cin >> n;

	while (n > 0) {
		if (n % 5 == 0) {
			cnt += n / 5;
			break;
		}
		else if (n % 3 == 0) {
			n -= 3;
			cnt++;
		}
		else if (n > 5) {
			n -= 5;
			cnt++;
		}
		else {
			cnt = -1;
			break;
		}
	}
	cout << cnt;
}

 

2) 주석 있는 VERSION

#include <stdio.h>
#include <iostream>
#include <string>

using namespace std;

int main() {
	int n, cnt(0); // cnt 0으로 초기화
	cin >> n;

	while (n > 0) {

		// 마지막에 5로 나누어 떨어지거나 처음부터 5로 나누어 떨어지면
		// n/5 값 더해주고 끝내기
		if (n % 5 == 0) {
			cnt += n / 5;
			break;
		}

		// 3으로 나누어 떨어질 경우 3 빼주기
		else if (n % 3 == 0) {
			n -= 3;
			cnt++;
		}

		// 5보다 클 경우 5빼주기
		else if (n > 5) {
			n -= 5;
			cnt++;
		}

		//모든 경우가 아니라면 -1 출력
		else {
			cnt = -1;
			break;
		}
	}
	cout << cnt;
}