카테고리 없음

BOJ 12789: 도키도키 간식드리미 (c++)

namaskar 2025. 2. 9. 23:06

#include <iostream>
#include <stack>
#include <vector>
using namespace std;


int main(int argc, const char * argv[]) {
    int n; vector<int> v;
    
    cin >> n; int temp;
    for(int i=0; i<n; i++){
        cin >> temp;
        v.push_back(temp);
    }
    
    stack<int> s;
    int success = 1;
    for(int i=0; i<n; i++){
        if(v[i] == success) success++;
        else s.push(v[i]);
        
        while(!s.empty()){
            if(s.top()==success){success++; s.pop();}
            else break;
        }
    }
    
    if(s.empty()) cout << "Nice"; else cout << "Sad";
}

스택을 이용하여 쉽게 풀 수 있다.