PS/BOJ

[백준 BOJ][queue] 10845 큐

Jubil 2018. 7. 26. 02:03
반응형

10845_

링크

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

 

풀이


 

하나하나 사용해주면 됩니다. 코드 주석으로 설명하겠습니다.

 

코드

 

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

51

52

53

//10845_

#include <iostream>

#include <string>

#include <queue>

using namespace std;

 

int main() {

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

 

    queue<int> q;

    int n;

    int data;

    string str;

 

    cin >> n;

 

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

        cin >> str;

 

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

            cin >> data;

            q.push(data);

        }

 

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

            if (q.empty()) cout << "-1\n";    //data 있으면 front 출력 , pop

            else {

                cout << q.front() << "\n";

                q.pop();

            }

        }

 

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

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

        }

 

        else if (str == "empty") {            //queue empty 여부 출력

            cout << q.empty() << "\n";        //empty 1, data 있으면 0

        }

 

        else if (str == "front") {            //empty 체크  비어 있으면 -1,

            if (q.empty()) cout << "-1\n";    //data 있으면 front 출력, pop X

            else cout << q.front() << "\n";

        }

 

        else if (str == "back") {            //empty 체크  비어 있으면 -1,

            if (q.empty()) cout << "-1\n";    //data 있으면 back 출력, pop X

            else cout << q.back() << "\n";

        }

    }

 

    return 0;

}

Colored by Color Scripter

cs

 

 



반응형