-
[๋ฐฑ์ค(BOJ) 10828๋ฒ] ์คํ (C++)PS(Problem Solving)/C++ 2022. 1. 16. 22:25๋ฐ์ํ
๋ฌธ์ ๋งํฌ
https://www.acmicpc.net/problem/10828
๋ฌธ์ ์ ๋ณด
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์ฃผ์ด์ง๋ ๋ช ๋ น์ ์ N (1 ≤ N ≤ 10,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ๋ช ๋ น์ด ํ๋์ฉ ์ฃผ์ด์ง๋ค. ์ฃผ์ด์ง๋ ์ ์๋ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 100,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค. ๋ฌธ์ ์ ๋์์์ง ์์ ๋ช ๋ น์ด ์ฃผ์ด์ง๋ ๊ฒฝ์ฐ๋ ์๋ค.
์ถ๋ ฅ
์ถ๋ ฅํด์ผํ๋ ๋ช ๋ น์ด ์ฃผ์ด์ง ๋๋ง๋ค, ํ ์ค์ ํ๋์ฉ ์ถ๋ ฅํ๋ค.
ํ์ด
STL Stack์ ์ดํดํ๋ฉด ์ฝ๊ฒ ํด๊ฒฐ ํ ์ ์๋ค!
์์ค ์ฝ๋
#include <bits/stdc++.h> using namespace std; int main(void) { ios::sync_with_stdio(0); cin.tie(0); int n; cin >> n; stack<int> S; while (n--) { string cmd; cin >> cmd; if (cmd == "push") { int x; cin >> x; S.push(x); } else if (cmd == "pop") { if (S.empty()) { cout << "-1" << '\n'; } else { cout << S.top() << '\n'; S.pop(); } } else if (cmd == "size") { cout << S.size() << '\n'; } else if (cmd == "empty") { if (S.empty()) { cout << '1' << '\n'; } else { cout << '0' << '\n'; } } else { // cmd == "top" if (S.empty()) { cout << "-1" << '\n'; } else { cout << S.top() << '\n'; } } } return 0; }
๋ฐ์ํ