programmers_기지국 설치_java
2023. 3. 4. 16:36ㆍAlgorithm/Programmers
728x90
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;
}
}
'Algorithm > Programmers' 카테고리의 다른 글
programmers_징검다리 건너기_java (0) | 2023.03.06 |
---|---|
programmers_[카카오 인턴] 보석 쇼핑_java (0) | 2023.03.04 |
programmers_숫자 게임_java (0) | 2023.03.01 |
programmers_단속카메라_java (0) | 2023.03.01 |
programmers_등굣길_java (0) | 2023.02.28 |