GW LABS

[Backjoon] 우유 축제 본문

Algorithm & DataStructure/Problems

[Backjoon] 우유 축제

GeonWoo Kim 2021. 11. 30. 09:25

14720번 우유 축제 문제는 그리디 문제로 배열을 조건대로 순회하면서 개수를 세는 문제였다. 오랜만에 그리디 문제를 풀면서 느낀 점은 문제를 파악하는 속도와 센스가 많이 줄었다는 것이었다. 주기적으로 그리디 관련 문제를 풀면서 감각을 살려야한다. 아래는 소스코드다.

 

#include <iostream>

using namespace std;

int stores[1000];

int getNextStore(const int& currentStore) {
    switch (currentStore)
    {
    case 0:
        return 1;
    case 1:
        return 2;
    case 2:
        return 0;
    default:
        return 0;
    }
}

int main() {
    
    int storeNum;
    cin >> storeNum;

    for (int i = 0; i < storeNum; ++i) {
        cin >> stores[i];
    }

    int answer = 0;
    int currentStore = -1;
    for (int i = 0; i < storeNum - 1; ++i) {
        if (currentStore == -1) {
            if (stores[i] != 0) {
                continue;
            }
            else {
                currentStore = 0;
                answer++;
            }
        }

        if (getNextStore(currentStore) == stores[i+1]) {
            answer++;
            currentStore = stores[i+1];
        }
    }

    cout << answer << endl;

    return 0;
}
Comments