말랑한 하루

[Programmers] 기지국 설치 (Lv 3, JavaScript) 본문

문제풀이/Programmers

[Programmers] 기지국 설치 (Lv 3, JavaScript)

지수는말랑이 2022. 12. 8. 18:13
반응형

[ 개요 ]
그리디


[ 학습 내용 ]
기지국을 설치하는 관점을 적재적소에 기지국을 배치하는것이 아닌, 그범위에 최대 몇개를 넣어야 할지 판단해야 했다.

현재 나의 위치(전파가 도달하지 않는 위치의 첫 시작점) ~ 기지국의 위치(해당 기지국에서 전파가 도달하는 첫 시작점)

위 범위에 최대 몇개의 기지국이 들어갈 지 판단해야 한다.

 

[ 소스 코드 ]

function solution(n, stations, w) {
    let answer = 0;
    let index = 1;
    let range = w*2+1;
    
    stations.forEach((station, idx) => {
        if (index < station-w) {
            answer += Math.ceil((station-w-index)/range);
        }
        index = station+w+1;
    })
    answer += Math.ceil((n+1-index)/range);
    return answer;
}
반응형
Comments