백준 10845번 : 큐 (Python, 파이썬) - 자료구조 큐(Queue)
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()) |