수학
, 구현
1. 기지국 왼쪽부분에 설치해야하는 기지국 개수를 구하였다.
2. 기지국 사이에 설치해야하는 기지국 개수를 구하였다.
3. 마지막 기지국 오른쪽 부분에 설치해야하는 기지국 개수를 구하였다.
gap
으로 저장하고 해당 부분을 기지국의 최대 전파 범위로 나누어 최소로 설치해야하는 기지국의 개수를 구하였다.class Solution {
public int solution(int n, int[] stations, int w) {
int range = w * 2 + 1;
int gap = (stations[0] - w - 1);
int answer = gap / range ;
if (gap >= 0 && gap % (w * 2 + 1) != 0) {
answer++;
}
for (int i = 1; i < stations.length; i++) {
gap = stations[i] - stations[i - 1] - range;
answer += gap / range;
if (gap >= 0 && gap % range != 0) {
answer++;
}
}
gap = (n - stations[stations.length - 1] - w);
answer += gap / range;
if (gap >= 0 && gap % range != 0) {
answer++;
}
return answer;
}
}