PS/BOJ

[백준 BOJ][stack] 10828 스택

Jubil 2018. 7. 26. 01:53
반응형

10828_스택

링크

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

 

풀이


 

기능 하나하나 구현해주면 됩니다. 설명은 코드 주석에 있습니다.

 

 

코드

 

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

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

//10828_스택

#include <iostream>

#include <string>

#include <stack>

using namespace std;

 

int main() {

    ios_base::sync_with_stdio(false); cin.tie(NULL);

 

    stack<int> stk;

    int n;

    int data;

    string str;

 

    cin >> n;

 

    for (int i = 0; i < n; ++i) {

        cin >> str;

 

        if (str == "push") {        //data 받고 push

            cin >> data;

            stk.push(data);

        }

 

        else if (str == "pop") {                //empty check하고 비어 있으면 -1,

            if (stk.empty()) cout << "-1\n";    //값이 있으면 top  출력 , pop

            else {

                cout << stk.top() << "\n";

                stk.pop();

            }

        }

 

        else if (str == "size") {            //stack size 출력

            cout << stk.size() << "\n";

        }

 

        else if (str == "empty") {            //stack empty 출력 (비어 있으면 1, 아니면 0)

            cout << stk.empty() << "\n";

        }

 

        else if (str == "top") {            //empty check하고 비어 있으면 -1,

            if (stk.empty()) cout << "-1\n";    //값이 있으면 top  출력, pop X

            else {

                cout << stk.top() << "\n";

            }

        }

    }

 

    return 0;

}

Colored by Color Scripter

cs

 




반응형

'PS > BOJ' 카테고리의 다른 글

[백준 BOJ][stack] 9012 괄호  (0) 2018.07.26
[백준 BOJ][queue] 10845 큐  (0) 2018.07.26
[백준 BOJ][sort] 11651 좌표 정렬하기 2  (0) 2018.07.24
[백준 BOJ][sort] 11650 좌표 정렬하기  (0) 2018.07.24
[백준 BOJ][sort] 1181 단어 정렬  (0) 2018.07.24