728x90
programmers.co.kr/learn/courses/30/lessons/12979
#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 |