콘솔창 & 윈도우창/코딩 테스트
프로그래머스 lv1 덧칠하기
뽀또치즈맛
2023. 11. 17. 20:07
#include <vector>
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
struct wall
{
int index;
bool check;
};
int solution(int n, int m, vector<int> section) {
int answer = 0;
vector <wall> arr;
for (int i = 0; i < n; i++)
{
arr.push_back({(i+1),true});
}
for (int i = 0; i < section.size(); i++)
{
arr[(section[i] - 1)].check = false;
}
for (int k = 0; k < arr.size(); k++)
{
if (k == 0 && arr[k].check == false)
{
answer++;
for (int i = 0; i < m; i++)
{
arr[i].check = true;
}
}
if (arr[k].check == false && k + m < n)
{
answer++;
for (int i = k; i < k + m; i++)
{
arr[i].check = true;
}
}
if (arr[k].check == false && k + m >= n)
{
answer++;
for (int i = k; i < arr.size(); i++)
{
arr[i].check = true;
}
}
}
cout << answer;
return answer;
}