전형적인 그리디 문제입니다.
N: 200,000,000 이하의 자연수로 효율성 테스트도 신경써줘야ㅕ하는 문제입니다.
1. 기지국 설치를 하면 2w+1만큼 전파 터짐 w가 2면 --기지국-- 양쪽으로 w만큼 전파가 터지고 +1은 기지국 설치 위치
2. 최소의 기지국으로 전체 전파가 터져야함
3. 기존 설치된 기지국의 전파 신경써야함
class Solution {
public int solution(int n, int[] stations, int w) {
int answer = 0;
int position=1;
int station=0;
while(position<=n){
//기존 기지국 만난 경우
if(station<stations.length&&position>=stations[station]-w){
//기지국 끝+1으로 이동
position=stations[station]+w+1;
station++;
}
//기지국 설치 후 2w+1만큼 이동
else{
answer+=1;
position+=(2*w+1);
}
}
return answer;
}
}