πŸ• Baaaaaarking/0x05κ°• - μŠ€νƒ

[BOJ][C++] λ°±μ€€ 10773번 : 제둜

선달 2022. 1. 6. 03:28
λ°˜μ‘ν˜•

https://www.acmicpc.net/problem/10773

 

10773번: 제둜

첫 번째 쀄에 μ •μˆ˜ Kκ°€ 주어진닀. (1 ≤ K ≤ 100,000) 이후 K개의 쀄에 μ •μˆ˜κ°€ 1κ°œμ”© 주어진닀. μ •μˆ˜λŠ” 0μ—μ„œ 1,000,000 μ‚¬μ΄μ˜ 값을 가지며, μ •μˆ˜κ°€ "0" 일 κ²½μš°μ—λŠ” κ°€μž₯ μ΅œκ·Όμ— μ“΄ 수λ₯Ό μ§€μš°κ³ , 아닐 κ²½

www.acmicpc.net

 

문제

λ‚˜μ½”λ” κΈ°μž₯ μž¬λ―Όμ΄λŠ” 동아리 νšŒμ‹μ„ μ€€λΉ„ν•˜κΈ° μœ„ν•΄μ„œ μž₯λΆ€λ₯Ό κ΄€λ¦¬ν•˜λŠ” 쀑이닀.

μž¬ν˜„μ΄λŠ” 재민이λ₯Ό λ„μ™€μ„œ λˆμ„ κ΄€λ¦¬ν•˜λŠ” 쀑인데, μ• μ„ν•˜κ²Œλ„ 항상 μ •μ‹ μ—†λŠ” μž¬ν˜„μ΄λŠ” λˆμ„ μ‹€μˆ˜λ‘œ 잘λͺ» λΆ€λ₯΄λŠ” 사고λ₯Ό 치기 μΌμ‘€μ˜€λ‹€.

μž¬ν˜„μ΄λŠ” 잘λͺ»λœ 수λ₯Ό λΆ€λ₯Ό λ•Œλ§ˆλ‹€ 0을 μ™Έμ³μ„œ, κ°€μž₯ μ΅œκ·Όμ— μž¬λ―Όμ΄κ°€ μ“΄ 수λ₯Ό μ§€μš°κ²Œ μ‹œν‚¨λ‹€.

μž¬λ―Όμ΄λŠ” μ΄λ ‡κ²Œ λͺ¨λ“  수λ₯Ό λ°›μ•„ 적은 ν›„ κ·Έ 수의 합을 μ•Œκ³  μ‹Άμ–΄ ν•œλ‹€. 재민이λ₯Ό λ„μ™€μ£Όμž!

μž…λ ₯

첫 번째 쀄에 μ •μˆ˜ Kκ°€ 주어진닀. (1 ≤ K ≤ 100,000)

이후 K개의 쀄에 μ •μˆ˜κ°€ 1κ°œμ”© 주어진닀. μ •μˆ˜λŠ” 0μ—μ„œ 1,000,000 μ‚¬μ΄μ˜ 값을 가지며, μ •μˆ˜κ°€ "0" 일 κ²½μš°μ—λŠ” κ°€μž₯ μ΅œκ·Όμ— μ“΄ 수λ₯Ό μ§€μš°κ³ , 아닐 경우 ν•΄λ‹Ή 수λ₯Ό μ“΄λ‹€.

μ •μˆ˜κ°€ "0"일 κ²½μš°μ— μ§€μšΈ 수 μžˆλŠ” μˆ˜κ°€ μžˆμŒμ„ 보μž₯ν•  수 μžˆλ‹€.

좜λ ₯

μž¬λ―Όμ΄κ°€ μ΅œμ’…μ μœΌλ‘œ 적어 λ‚Έ 수의 합을 좜λ ₯ν•œλ‹€. μ΅œμ’…μ μœΌλ‘œ 적어낸 수의 합은 231-1보닀 μž‘κ±°λ‚˜ 같은 μ •μˆ˜μ΄λ‹€.

 

풀이

// Authored by : seondal
// Co-authored by : -
// http://boj.kr/b17d9819bdf940a1b8284602cbeafdc7

//#include <bits/stdc++.h>
#include <iostream>
#include <stack>

using namespace std;

int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    
    stack<int> s;
    
    int k;
    cin >> k;
    while (k--){
        int n;
        cin >> n;
        
        if(n == 0)
            s.pop();
        else
            s.push(n);
    }
    
    int ans = 0;
    while(s.size()){
        ans += s.top();
        s.pop();
    }
    cout << ans;
    
    return 0;
}

/*
 */
λ°˜μ‘ν˜•