https://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 = 0;
int start(1);
int idx(0);
while (start <= n)
{
if (idx <= stations.size()-1 && start >= stations[idx] - w && start <= stations[idx] + w)
{
start = stations[idx] + w;//끝으로맞추고
start++;
idx++;
}
else
{
answer++;
start += 2 * w+1;
}
}
return answer;
}
int main(void)
{
int N = 11;
vector<int> vTemp = { 4, 11 };
int w = 1;
int rst = solution(N,vTemp,w);
return 0;
}