프로그래머스 기지국 설치
문제 풀이 방식
문제 풀이 (Java)
- 처음에 효율성 문제 있었던 코드 :
class Solution {
public int solution(int n, int[] stations, int w) {
int answer = 0;
double range = 2 * w + 1;
for(int i = 0; i <= stations.length ; i++){
if(i == 0){
// 첫 기지국부터 첫 아파트 사이
answer += (int) (Math.ceil((stations[i] - w - 1) / range));
}else if(i == stations.length){
// 마지막 기지국부터 마지막 아파트 사이
answer += (int) (Math.ceil((n - stations[i-1] - w) / range));
}else{
// 기지국 사이에 있는 경우
answer += (int) (Math.ceil((stations[i] - stations[i-1] - range) / range));
}
}
return answer;
}
}
Leave a comment