이우의 개발일지
[C++] 백준 10828번 스택 본문
백준 10828번 스택
https://www.acmicpc.net/problem/10828
백준 코드
#include <iostream>
#include <vector>
#include<string>
#include <stack>
using namespace std;
int main() {
int N;
cin >> N;
string input;
string push = "push", top = "top", pop = "pop", size = "size", empty = "empty";
stack <int> v;
for (int i = 0; i < N; i++) {
cin >> input;
if (input == push) {
int t;
cin >> t;
v.push(t);
}
else if (input == top) {
if (v.empty()) cout << -1 << endl;
else cout << v.top() << endl;
}
else if (input == pop) {
if (v.empty()) cout << -1 << endl;
else {
cout << v.top() << endl;
v.pop();
}
}
else if (input == size) {
cout << v.size() << endl;
}
else if (input == empty) {
if (v.empty()) cout << 1 << endl;
else cout << 0 << endl;
}
}
return 0;
}
사실 스택을 쓸 줄 알면 아주 간단한 문제다 ㅎㅎ
실제 입력되는 기능에 맞춰 구현만 해주면 되기 때문에 크게 어려움 없어보인다.
다만, push를 입력받을 때 push + 숫자를 입력 받아야해서, 입력받은 함수가 push일 때 int t, cin >> t로 설정을 해줘서 추가로 받을 수 있게 만든다는 점 주의하시면 될 것 같다.
반응형
'Coding' 카테고리의 다른 글
[백준/C++] 1193번 분수찾기 코딩 (0) | 2024.05.15 |
---|---|
[백준/C++] 2941번 크로아티아 알파벳 (0) | 2024.05.15 |
[C++] 백준 1316번 그룹 단어 체커 (0) | 2024.05.10 |
[C/C++] map 함수 / STL 함수 (0) | 2024.05.07 |
[C/C++] stringstream 사용법 (0) | 2024.05.07 |