ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 백준 10845번 : 큐 (Python, 파이썬) - 자료구조 큐(Queue)
    카테고리 없음 2019. 1. 7. 21:10

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



    큐(Queue)의 개념은 쉽다. 표를 사기 위해 줄을 선 사람들을 생각해보자. 먼저 줄 선 사람이 먼저 표를 산다. 늦게 줄 선 사람은 당연히 늦게 표를 산다. 먼저 입력된 명령, 데이터가 먼저 처리된다. 늦게 입력되었다면 늦게 처리될 수밖에 없다.

    이러한 개념을 염두에 두고 코드를 짰다.



    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

    54

    55

    56

    class Queue:

    def __init__(self):

    self.Queue_item = []

    def push(self, x):

    self.Queue_item.append(x)

    def pop(self):

    judge = len(self.Queue_item)

    if judge < 1:

    return -1

    result = self.Queue_item[0]

    del self.Queue_item[0]

    return result

    def size(self):

    result = len(self.Queue_item)

    return result

    def empty(self):

    result = len(self.Queue_item)

    if result < 1:

    return 1

    else:

    return 0

    def front(self):

    result = len(self.Queue_item)

    if result < 1:

    return -1

    else:

    return self.Queue_item[0]

    def back(self):

    result = len(self.Queue_item)

    if result < 1:

    return -1

    else:

    return self.Queue_item[-1]

    Q = Queue()

    N = int(input())

    for _ in range(N):

    cmd = list(input().split(' '))

    if cmd[0] == 'push':

    Q.push(cmd[1])

    elif cmd[0] == 'pop':

    print(Q.pop())

    elif cmd[0] == 'size':

    print(Q.size())

    elif cmd[0] == 'empty':

    print(Q.empty())

    elif cmd[0] == 'front':

    print(Q.front())

    elif cmd[0] == 'back':

    print(Q.back())


Designed by Tistory.