반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
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
Archives
Today
Total
관리 메뉴

코딩하기 좋은날

백준 10828 스택 본문

백준(Baekjoon) 문제

백준 10828 스택

huiung 2019. 1. 12. 19:34
반응형

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

문제와 채점은 위의 사이트에서 확인 하실 수 있습니다.

 


백준 사이트의 10828 번 문제 문자열만 비교해서 동작을 시켜주면 해결된다.

저는 직접 스택을 만들었지만 stl에 있는 스택을 사용하면 더짧게 짤수 있을 것 같습니다.

아래는 코드입니다.

 

 

#include <iostream>
#include <string>

using namespace std;

class stack {
	private:
		int t;
		int *v;		
	public:
		stack() {
			v = new int[10000];
			t = -1;
		}
		
		~stack() {
			delete []v;
		}
		
		bool empty() {
			if(t == -1)
				return true;
			else
				return false; 
		}
		
		void push(int x) {
			v[++t] = x;
		}
		
		int pop() {
			if(empty())
				return -1;
			else
				return v[t--];
		}
		
		int size() {
			return t+1;
		}
		
		int top() {
			if(empty())
				return -1;
			else
				return v[t];
		}
};

int main(void) {
	int n;
	cin>>n;
	stack s;
	string str;
	
	if(n<1 || n>10000)
		return 0;
		
	while(n) {
		
		cin>>str;
		
		if(str == "push") {
			int x;
			cin>>x;
			s.push(x);
		}
		
		else if(str == "top")
			cout<<s.top()<<endl;
		else if(str == "size")
			cout<<s.size()<<endl;
		else if(str == "empty")
			cout<<s.empty()<<endl;
		else if(str == "pop")
			cout<<s.pop()<<endl;
		else
			return 0;
		n--;
	}
	return 0;
}
반응형

'백준(Baekjoon) 문제' 카테고리의 다른 글

백준 7785 회사에 있는 사람  (0) 2019.01.13
백준 1620 나는야 포켓몬 마스터 이다솜  (0) 2019.01.13
백준 1966 프린터 큐  (0) 2019.01.13
백준 1918 후위표기식  (1) 2019.01.13
백준 9012 괄호  (0) 2019.01.12