-
10828-스택기초 본문
역시나 문자열 관련이 제일 짜증나고 싫다..
push 100 처럼 문자열안에서 숫자를 뽑아내야 하는데 처음에는 파싱하다가
cin 을 사용하면 띄어쓰기만큼 읽기 때문에
두번 사용하면 깔금하게 해결가능하다.
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <stack>
#include <stdio.h>
#include <string>
using namespace std;
int main()
{
int n=0;
stack<int> S;
cin >> n;
string str;
while (n--)
{
//char str[100005];
//gets(str);
cin >> str;
char tmp[10];
for (int i = 0; str[i] != 32; i++)
{
if (!strcmp(str, "push"))
{
int num;
cin >> num;
S.push(num);
break;
}
else if (!strcmp(str, "pop"))
{
if (!S.empty())
{
int tmp = S.top();
S.pop();
printf("%d\n", tmp);
}
else
printf("-1\n");
break;
}
else if (!strcmp(str, "empty"))
{
if (!S.empty())
{
printf("0\n");
}
else
printf("1\n");
break;
}
else if (!strcmp(str, "size"))
{
printf("%d", S.size());
break;
}
else if (!strcmp(str, "top"))
{
if (!S.empty())
{
int tmp = S.top();
printf("%d\n", tmp);
}
else
printf("-1\n");
break;
}
}
//printf("%s", str);
}
system("pause");
return 0;
}
'Algorithm > Baekjoon' 카테고리의 다른 글
9012 괄호 (0) | 2018.01.11 |
---|---|
1874-스택&순열 (0) | 2018.01.11 |
10989 - 기수정렬[아직 해결못함] (0) | 2018.01.10 |
2751-병합정렬[아직 해결못함] (0) | 2018.01.10 |
2750 - 버블정렬 (0) | 2018.01.09 |