알고리즘/boj

BOJ 1449 수리공 항승

칼퇴시켜주세요 2023. 1. 5. 16:33
728x90

첫째 줄에 물이 새는 곳의 개수 N과 테이프 길이L 이 주어진다. 풀이방법은 시작점(start)을 잡고 시작점을 기준으로 물이 새는 곳(v[i]) 까지 거리가  L <= v[i] - start를 만족한다면 count를 증가 시켜주고 시작점을 이동시겨준다.

 

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);

	vector<int> v;
	int n, l;

	cin >> n >> l;

	for(int i = 0; i < n; i++)
	{
		int num;
		cin >> num;

		v.push_back(num);
	}

	if(l == 1)
	{
		cout << v.size();
		return 0;
	}
	else
	{
		sort(v.begin(), v.end());
		int cnt = 0;
		int start = v[0];
		int length = 0;

		for(int i = 1; i < v.size(); i++)
		{
			if(l<=v[i] - start)
			{
				cnt++;
				start =v[i];
			}
		}
		
		cout << cnt+1;
	}
}

 

 

 

반응형

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

BOJ 1114 통나무 자르기  (0) 2023.01.13
BOJ 11047 동전 0  (0) 2023.01.05
BOJ 1285 동전 뒤집기  (0) 2023.01.05
BOJ 14916 거스름돈  (0) 2023.01.03
BOJ 16953 A -> B  (0) 2023.01.01