#include <string>
#include <vector>
#include <memory.h>
using namespace std;
int solution(int n, int m, vector<int> section) {
int* wall = new int[n + 1];
memset(wall, 0, sizeof(int) * n + 1);
for (int i = 0; i < section.size(); i++)
wall[section[i]] = 1;
int cnt = 0;
for (int i = 1; i <= n; i++) {
if (wall[i]) {
for (int j = i; j < i + m; j++) {
if (j > n) break;
wall[j] = 0;
}
cnt++;
}
}
return cnt;
}
인덱스가 1부터 시작하니 n+1 크기의 동적배열 wall을 생성하고, wall에 모든 원소를 0으로 초기화 했다.
그 다음 반복문을 돌면서 section에 나타난 페인트가 벗겨진 곳을 1로 설정하고,
마지막 반복문을 돌면서 만약 빈 곳이 있다면 내부루프로 벽 크기의 인덱스를 벗어나지 않게 0으로 만들며 페인트칠을 해준다. 그 후 cnt를 1씩 올리고 return해준다.