-

10828-스택기초 본문

Algorithm/Baekjoon

10828-스택기초

Boogallee 2018. 1. 11. 15:39

역시나 문자열 관련이 제일 짜증나고 싫다..


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
Comments