반응형
문제 보기
문제 해설
정수를 저장하는 큐를 구현하고 push, pop, size, empty, front, back 6가지 기능을 구현하는 문제입니다.
큐에 대한 설명은 아래 링크 클릭!
파이썬(Python3) 코드
import sys
from collections import deque
queue = deque([])
for _ in range(int(sys.stdin.readline().strip())):
command = sys.stdin.readline().strip()
if command[0]=='s': # size
print(len(queue))
elif command[0]=='e': # empty
if queue:
print(0)
continue
print(1)
elif command[0]=='f': # front
if queue:
print(queue[0])
continue
print(-1)
elif command[0]=='b': # back
if queue:
print(queue[-1])
continue
print(-1)
elif command[1]=='o': # pop
if queue:
print(queue.popleft())
continue
print(-1)
else:
queue.append(command[5:])
직접 큐를 구현해보는 연습을 하는 것도 좋지만, 알고리즘 문제를 풀 때는 deque를 사용하는 것이 효율적입니다.
또한 사용자로부터 입력을 받을 때, input()보다는 sys.stdin.readline().strip()을 사용하면 더 빨라집니다.
반응형
'DEVLOG > Algorithms' 카테고리의 다른 글
[BOJ 11654] 아스키 코드 - 파이썬 풀이 (0) | 2019.09.10 |
---|---|
파이썬(Python)으로 스택과 큐 사용하는 법 / 예제 포함 (0) | 2019.09.09 |
[BOJ 10828] 스택 - 파이썬 풀이 (0) | 2019.09.09 |
[2020 KAKAO 코딩테스트 1차] 4번 - 와일드카드 (4) | 2019.09.08 |
[2020 KAKAO 코딩테스트 1차] 1번 - 문자열 압축 (4) | 2019.09.08 |
댓글