https://school.programmers.co.kr/learn/courses/30/lessons/12979#
class Solution {
public int solution(int n, int() stations, int w) {
int answer = 0;
int stationsSize = stations.length;
int start = 1;
int wave = w*2 + 1;
// stations 전까지 필요 기지국 개수
for(int i=0; i < stationsSize; i++){
if(stations(i)-w > 0){
int now = stations(i)-w;
int remainApartment = now - start; // 이전 기지국 ~ 현재 기지국 이전까지 남은 아파트 수
if(remainApartment > 0){
answer += (remainApartment-1)/wave + 1; // 필요 기지국 수
}
// System.out.println(start + " " + now + " " + remainApartment);
}
start = stations(i)+w+1;
// 마지막 기지국부터 끝 까지 필요한 기지국 개수
if( i == stationsSize -1 ){
int remainApartment = n - start + 1;
if(remainApartment > 0){
answer += (remainApartment-1)/wave + 1;
}
}
}
return answer;
}
}