BOJ - 10773 - 제로

ggh·2022년 5월 11일
0

백준

목록 보기
10/112

BOJ - 10773 - 제로

문제


10773번: 제로

문제 개념


  • 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000)
  • 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경우 해당 수를 쓴다.
  • 정수가 "0"일 경우에 지울 수 있는 수가 있음을 보장할 수 있다.

구현


#include <iostream>
#include <vector>

using namespace std;
// 0이 들어오면 최근에 입력한 수를 지운다. 
// answer은 스택에 쌇인 수를 모두 더한 것이다. 

int main()
{
    vector<int> VectorStack;
    int num; 
    int answer = 0;
    cin >> num;
    for(int i=0; i < num; i++)
    {
        int temp;
        cin >> temp;
        if(temp == 0)
            VectorStack.pop_back();
        else 
            VectorStack.push_back(temp);
    }
    for(auto el : VectorStack)
        answer += el;
    cout << answer << endl;
    return 0;
}

SOL


  • 입력을 받을 때 0인지 구분
  • 조건에 따라 push & pop

Reference & 다른 PS 모음집


https://github.com/ggh-png/PS

profile
See you in a minute. : )

0개의 댓글