DOTY

10) 백준 4796 - 캠핑 본문

Algorithm/Greedy

10) 백준 4796 - 캠핑

증식세포 2020. 10. 8. 18:16
728x90
반응형

<문제>

https://www.acmicpc.net/problem/4796

 

4796번: 캠핑

입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, L, P, V를 순서대로 포함하고 있다. 모든 입력 정수는 int범위이다. 마지막 줄에는 0이 3개 주어진다.

www.acmicpc.net

드디어!!! 10번째 그리디!!!! 아직 40개 남았다. ^^.....

 

<코드>

#include <iostream>

using namespace std;

int main(void) {
	int L, P, V;
	int test_case = 1;
	while(1) {
		int day = 0;
		cin >> L >> P >> V;
		if(L == 0 && P == 0 && V == 0) break;
		
		day += L * (V/P);
		
		V -= P * (V/P);
		
		if(V >= L) {
			day += L;
		}
		else {
			day += V;
		}
		
		cout << "Case " << test_case << ": " << day << endl;
		test_case++;
	}
	
	return 0;
}

정말 간단했던 문제.

어차피 한번 즐길 수 있는 날(L)보다 캠핑장을 연속하는 날(P)가 더 크므로, 총 휴가 일에서 연속하는 날을 나눠줘서 몇번 즐길수 있는지 구한다. 그걸 L 에 곱한다.

즐긴 후에, 남은 날이 한번 즐길 수 있는 날보다 크면 즐길수 있는 날을 그대로 더해주면 되고, 아니면 남은 날을 더해주면 된다.

 

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

이렇게 해서 10월 안에는 50문제 풀수 있을까...ㅠㅠㅠ

728x90
반응형

'Algorithm > Greedy' 카테고리의 다른 글

11) 프로그래머스 Lv2 - 큰 수 만들기  (0) 2023.03.14
9) 백준 1138 - 한 줄로 서기  (0) 2020.10.08
8) 백준 1080 - 행렬  (0) 2020.10.08
7) 백준 1946 - 신입사원  (0) 2020.10.08
6) 백준 1541 - 잃어버린 괄호  (0) 2020.10.08
Comments