반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- sort
- class_template
- template
- Critical_Path_Analysis
- Articulation_Point
- 알고리즘
- 13305
- list
- connected_component
- 문법
- c++
- sstream
- 예제
- Pair
- data_structure
- qsort
- 5397
- Heap
- function_template
- red-black tree
- singly Linked List
- 총정리
- Algorithm
- Biconnected_Component
- 구현
- STL
- 자료구조
- deletion
- 백준
- '0'
Archives
- Today
- Total
- Today
- Total
- 방명록
어제의 나보다 성장한 오늘의 나
[C++][자료구조 Stack] 백준 10828번 문제 풀이 본문
반응형
백준 10828
문제
자료 구조 Stack 구현
Stack Class를 직접 구현하여 사용하였다.
Code
// BaekJun 10828
// Title : Stack
// URL : https://www.acmicpc.net/problem/10828
/*
문제
정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오.
명령은 총 다섯 가지이다.
push X: 정수 X를 스택에 넣는 연산이다.
pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다.
size: 스택에 들어있는 정수의 개수를 출력한다.
empty: 스택이 비어있으면 1, 아니면 0을 출력한다.
top: 스택의 가장 위에 있는 정수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다.
*/
#include <iostream>
using namespace std;
class Stack{
private:
int* arr;
int index;
public:
Stack(int N){
arr = new int [N];
index = -1;
}
~Stack(){};
void push(int num){
arr[++index] = num;
}
int top(){
if(index == -1) return -1;
return arr[index];
}
int size(){
return (index+1);
}
int empty(){
if (index == -1) return 1;
else return 0;
}
int pop(){
if(index == -1) return -1;
return arr[index--];
}
};
int main(){
// speed up function
cin.tie(NULL); cout.tie(NULL);
ios_base::sync_with_stdio(false);
int N;
int num;
string input;
cin >> N;
Stack s(N);
for(int i = 0 ; i < N ; ++i){
cin >> input;
if(input == "push"){
cin >> num;
s.push(num);
}
else if(input == "top") cout << s.top() << "\n";
else if(input == "pop") cout << s.pop() << "\n";
else if(input == "size") cout << s.size() << "\n";
else if(input == "empty") cout << s.empty() << "\n";
}
}
반응형
'c++ > 백준 문제 풀이' 카테고리의 다른 글
[C++][BFS / DFS] 백준 2606번 문제 풀이 (0) | 2022.08.19 |
---|---|
[C++][BFS / DFS] 백준 10451번 문제 풀이 (0) | 2022.08.18 |
[C++] 백준 5397번 풀이 (0) | 2022.07.24 |
[C++][집합 / 자료구조] 백준 1717번 풀이 및 설명 (0) | 2022.07.01 |
[C++][Graph] 백준 1197번 문제 풀이 및 설명 (0) | 2022.07.01 |
Comments