사용 언어 - Python3
18258번: 큐 2 (실버4, 큐)
문제 ★큐 문제★
정답
deque([]) 문제
(코드 풀이)
1. 시간제한
import sys
n = int(sys.stdin.readline())
from collection import deque
deque로 queue를 구현한다. queue = deque([])
2. queue.popleft()
pop 명령어가 입력되었을 때, 큐에서 가장 앞(왼쪽)에 있는 정수를 빼고 출력하기
queue.popleft()
+ if len(queue) == 0: 대신 if not queue:
queue 안에 존재하는지 확인하기
# 정답1
import sys
from collections import deque
n = int(sys.stdin.readline())
queue = deque([])
for i in range(n):
c = sys.stdin.readline().split()
if c[0] == 'push': # 큐에 넣기
queue.append(c[1])
elif c[0] == 'pop': # 큐에서 가장 앞에 있는 정수 빼내고 출력
if len(queue) == 0:
print(-1)
else:
print(queue.popleft())
elif c[0] == 'size': # 큐 정수개수 출력
print(len(queue))
elif c[0] == 'empty': # 큐 비어있는지 확인
if len(queue) == 0:
print(1)
else:
print(0)
elif c[0] == 'front': #큐 가장 앞에 있는 정수 출력
if len(queue) == 0:
print(-1)
else:
print(queue[0])
elif c[0] == 'back': #큐 가장 뒤에 있는 정수 출력
if len(queue) == 0:
print(-1)
else:
print(queue[-1])
레퍼런스
- 정답 참고
- 정답 깃허브
'Algorithm > 스택&큐&덱&힙' 카테고리의 다른 글
[백준] 11866번 요세푸스 문제0 (1) | 2023.01.22 |
---|---|
[백준] 2164번 카드2 (0) | 2023.01.22 |
[백준] 1874번 스택 수열 (0) | 2023.01.20 |
[백준] 9012번 괄호 (0) | 2023.01.20 |
[백준] 10773번 제로 (0) | 2023.01.20 |
댓글