N

(프로그래머스 JS)기지국 설치 본문

프로그래머스 알고리즘/3단계

(프로그래머스 JS)기지국 설치

naeunchan 2022. 1. 3. 13:47
728x90
반응형

https://programmers.co.kr/learn/courses/30/lessons/12979?language=javascript 

 

코딩테스트 연습 - 기지국 설치

N개의 아파트가 일렬로 쭉 늘어서 있습니다. 이 중에서 일부 아파트 옥상에는 4g 기지국이 설치되어 있습니다. 기술이 발전해 5g 수요가 높아져 4g 기지국을 5g 기지국으로 바꾸려 합니다. 그런데 5

programmers.co.kr

 

조건이 크지 않기 때문에 완전 탐색으로 풀 수 있다.

기지국 번호가 1부터 시작하니 start = 1로 시작.

인덱스는 0부터 시작한다.

 

start <= n일 때까지 while을 반복한다.

만약 현재 start가 stations[index] + w, stations[index] - w 사이의 값이라면 기지국을 설치할 필요가 없기 때문에 index와 start를 갱신하여 넘어간다.

그렇지 않다면 기지국을 설치해야 하기 때문에 answer++과 start += 2 * w를 해주어 값을 갱신!

공통적으로는 start++을 해주면 된다.

const solution = (n, stations, w) => {
    let answer = 0;
    let index = 0;
    let start = 1;
    
    while(start <= n){
        if(start >= stations[index] - w && start <= stations[index] + w){
            start = stations[index] + w;
            index++;
        } else{
            start += 2 * w;
            answer++;
        }
        start++;
    }
    
    return answer;
}
728x90
반응형