Algorithm(알고리즘)/백준
31_백준 18258번 파이썬 큐2
반응형
큐 Queue 를 deque를 이용하여 함수들을 만들어
입력되는 명령들을 처리하도록 했다.
deque 명령어 : appendleft() , popleft()
- 풀이
from sys import stdin
from collections import deque
def push(n):
n = int(n)
que.append(n)
def pop():
if que: # que에 요소가 있으면 출력
n = que.popleft()
print(n)
return
return print(-1)
def size():
print(len(que)) # que 요소 개수 출력
def empty():
if que: # que가 비어있지 않으면 0 출력
return print(0)
return print(1) # 비어있으면 1 출력
def front():
if que: # que에 요소가 있으면 첫번째 요소 출력
return print(que[0])
return print(-1) # 요소가 없으면 -1 출력
def back():
if que: # que에 요소가 있으면 마지막 요소 출력
return print(que[-1])
return print(-1) # 요소가 없으면 -1 출력
# N 명령의 수 , 명령 입력
N = int(stdin.readline())
que = deque()
for i in range(N):
order = list(stdin.readline().split())
if order[0] == 'push':
push(order[1])
elif order[0] == 'pop':
pop()
elif order[0] == 'size':
size()
elif order[0] == 'empty':
empty()
elif order[0] == 'front':
front()
elif order[0] == 'back':
back()
반응형
'Algorithm(알고리즘) > 백준' 카테고리의 다른 글
30_백준 1021번 파이썬 회전하는 큐 (0) | 2021.06.22 |
---|---|
29_백준 1874번 파이썬 스택수열 (0) | 2021.06.22 |
28_백준 4949번 파이썬 균형잡힌세상 (0) | 2021.06.22 |
27_백준 1010번 파이썬 다리놓기 (0) | 2021.06.22 |
26_백준 11050번 파이썬 이항계수 (0) | 2021.06.22 |
댓글