250x250
반응형
Notice
Recent Posts
Recent Comments
Link
N
(프로그래머스 c++)기지국 설치 본문
728x90
반응형
1번 기지국부터 n번 기지국까지 검사를 한다.
start는 현재 위치한 기지국 번호, index는 stations의 인덱스를 나타내는 변수다.
while문을 통해 start ~ n까지 반복하도록 한다.
만약 stations[index] - w <= start <= stations[index] + w라면
이미 설치되어 있기 때문에 start를 stations[index] + w로 바꿔주고, index++을 해주어 다음 기지국 설치 번호를 찾는다.
아니라면 기지국 설치가 필요한 번호이다.
start += 2 * w를 해주어 설치를 한 후, 위치를 옮겨주도록 하고,
answer++을 해준다.
또한 무조건 start++을 해주어 위치를 계속하여 옮겨주도록 하면 된다.
#include <iostream>
#include <vector>
using namespace std;
int solution(int n, vector<int> stations, int w)
{
int answer = 0, start = 1, index = 0;
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
반응형
'프로그래머스 알고리즘 > 3단계' 카테고리의 다른 글
(프로그래머스 c++)최고의 집합 (0) | 2020.07.21 |
---|---|
(프로그래머스 c++)여행경로 (0) | 2020.07.17 |
(프로그래머스 c++)가장 먼 노드 (0) | 2020.06.30 |
(프로그래머스 c++)베스트 앨범 (0) | 2020.06.25 |
(프로그래머스 c++)등굣길 (0) | 2020.06.22 |