[C++] 백준 10773 : 제로

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

int main(int argc, char **argv){
    stack<int> s;
    int K, x, sum = 0;
    scanf("%d", &K);

    for(int i=0; i<K; i++){
        scanf("%d", &x);
        if(x != 0){
            s.push(x);
        } else {
            s.pop();
        }
    }

    while(!s.empty()){
        sum += s.top();
        s.pop();
    }

    printf("%d", sum);

    return 0;
}

오늘의 키포인트

  • 기본적인 스택 문제였다. 계속 스택에 값을 넣고 0이 들어온다면 pop시키면 된다. 마지막에 모든 수를 꺼내어 sum에 더해준 후 값을 출력해주면 된다.
  • STL을 사용했다. 훨씬 간단하게 구현할 수 있었으며 왜 사람들이 C++을 알고리즘 풀이에 좋다고 하는지 깨달을 수 있었다.

좋은 웹페이지 즐겨찾기