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 |