콘솔창 & 윈도우창/코딩 테스트

프로그래머스 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;
}

 

 

 

'콘솔창 & 윈도우창 > 코딩 테스트' 카테고리의 다른 글

Anagram문제  (0) 2024.04.11
백준 - 괄호 9012  (0) 2024.01.29
프로그래머스 lv2 최댓값과 최솟값 c++  (0) 2023.10.24
블랙잭 게임 구현  (0) 2023.01.13
백준 A : 특식 배부 C언어  (0) 2023.01.08