끄적끄적 코딩
article thumbnail
728x90

파이프를 수리하는데 몇개의 테이프가 필요한지 찾는 문제입니다.

1. 정렬
2. 물이나오는 위치에 테이프 길이만큼 붙임
3. 테이프가 안 붙어있고 물이 새는 다음 위치로 이동
4. 2, 3번 반복
5. 반복횟수 출력

#include <iostream>
#include <cstring>
#include <algorithm>
#include <string>
#include <vector>
#include <queue>
using namespace std;

int main(int argc, char* argv[])
{
	int i;
	int n, l;
	int num;
	int count;
	int water[1001];

	cin >> n >> l;

	for (int i = 0; i < n; ++i) {
		cin >> water[i];
	}

	sort(water, water + n);

	i = 0;
	count = 0;

	while (1) {
		num = water[i];
		num = num + l - 1;
		++i;
		++count;

		while (1) {
			if (water[i] <= num && i < n) {
				++i;
			}
			else {
				break;
			}
		}

		if (i >= n) {
			break;
		}
	}
	
	cout << count << endl;

	return 0;
}

'알고리즘' 카테고리의 다른 글

[C++] 백준 2212번 센서  (0) 2019.11.24
[C++] 백준 12845번 모두의 마블  (0) 2019.11.24
[C++] 백준 1969번 DNA  (0) 2019.11.23
[C++] 백준 4796번 캠핑  (0) 2019.11.23
[C++] 백준 1946번 신입 사원  (0) 2019.11.23

검색 태그