본문 바로가기

프로그래머스/기타

기지국 설치

728x90

programmers.co.kr/learn/courses/30/lessons/12979

 

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

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

programmers.co.kr

#include <iostream>
#include <vector>
using namespace std;

int solution(int n, vector<int> stations, int w)
{
    
    int answer = 3;
    
    int cnt=0;
    int sz = w+w+1;
    int si =0;
    for(int i=1; i<=n; i++){
        
        
       if(i>=stations[si]-w && i<=stations[si]+w){
           
           i=stations[si]+w; 
           si++;
           
        }
        else{
            i=i+sz-1;
            cnt++;
            if(i>n){break;}
            
    }

    }
    answer = cnt; 
    return answer;
}

 

- 효율적인 탐색 법에 대해 알 수 있다. 

- 이미 설치된 구간과 이미 설치되지 않은 구간 을 나누어서 생각을 해주어야한다. 

'프로그래머스 > 기타' 카테고리의 다른 글

N-Qeen - 시뮬레이션  (0) 2021.03.04
Level3 - 최고의 집합  (0) 2021.02.27
Level3 - 줄서는 방법  (0) 2021.02.26
2*n 타일링  (0) 2021.02.03
피보나치 수  (0) 2021.02.01