From d07b6b512939b120d202097b617d9c828c821d52 Mon Sep 17 00:00:00 2001 From: Yeonri Date: Fri, 9 Jan 2026 20:06:41 +0900 Subject: [PATCH] =?UTF-8?q?[Week01]=20BOJ=2010828:=20=EC=8A=A4=ED=83=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lsy1307.cpp" | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 "weekly/week01/BOJ_10828_\354\212\244\355\203\235/lsy1307.cpp" diff --git "a/weekly/week01/BOJ_10828_\354\212\244\355\203\235/lsy1307.cpp" "b/weekly/week01/BOJ_10828_\354\212\244\355\203\235/lsy1307.cpp" new file mode 100644 index 0000000..cb1e09e --- /dev/null +++ "b/weekly/week01/BOJ_10828_\354\212\244\355\203\235/lsy1307.cpp" @@ -0,0 +1,58 @@ +#include +#include +#include +using namespace std; + +class Stack { +public: + void push(int X) { + stack.push_back(X); + } + void pop() { + if (stack.empty()) cout << -1 << "\n"; + else { + cout << stack[stack.size() - 1] << "\n"; + stack.erase(stack.end() - 1); + } + } + void size() { + cout << stack.size() << "\n"; + } + void empty() { + cout << stack.empty() << "\n"; + } + void top() { + if (stack.empty()) cout << -1 << "\n"; + else { + cout << stack[stack.size() - 1] << "\n"; + } + } +private: + vector stack; +}; + +int main() { + int N, X; + string s; + cin >> N; + Stack stack; + while (N--) { + cin >> s; + if (s == "push") { + cin >> X; + stack.push(X); + } + else if (s == "pop") { + stack.pop(); + } + else if (s == "size") { + stack.size(); + } + else if (s == "empty") { + stack.empty(); + } + else if (s == "top") { + stack.top(); + } + } +} \ No newline at end of file