1. 문제
https://www.acmicpc.net/problem/10845
2. 접근 방법
그냥 구현하면 됩니다.
백준은 입력도 내 맘대로 받을 수 있어서,
input으로 입력받을 수도 있고, readline을 사용해서 입력받을 수도 있는데
readline이 훠얼씬 빠르구
이 문제도 주어지는 명령의 갯수가 10,000개까지 가능해서 readline으로 받아야 시간초과가 나지 않습니다.
사실 deque쓸 필요 없는데 input으로 할 때 시간을 조금이라도 줄여보고자 deque를 사용했습니다.
readline을 써서 deque말고 그냥 list로 구현해도 될 듯 싶습니다
3. 코드
python
from collections import deque
import sys
N = int(sys.stdin.readline().rstrip())
q = deque()
for _ in range(N):
order = sys.stdin.readline().rstrip()
if order[:4] == 'push':
order, n = order.split(' ')
q.append(n)
elif order == 'size':
print(len(q))
elif order == 'empty':
print(0 if q else 1)
elif not q:
print(-1)
elif order == 'front':
print(q[0])
elif order == 'back':
print(q[-1])
elif order == 'pop':
print(q.popleft())
4. 마치며
딱히 문제가 어려워서는 아니고
order, *n = order.split(' ')
다른 사람 풀이를 보니 어떤 사람이 이렇게 명령을 분류했길래
이걸 좀 기록해놓고자 적었습니다.
그리고 어떤 사람은 아예 자료구조를 만들었더라구요 하하하 ~!
'Algorithm > Python' 카테고리의 다른 글
[python] 43236 징검다리 (0) | 2021.08.22 |
---|---|
[python] 43238 입국심사 (0) | 2021.08.22 |
[python] 17686 파일명 정렬 - 카카오 2018 3차 (0) | 2021.07.06 |
[python] 17685 자동완성 - 카카오 2018 3차 (1) | 2021.07.05 |
[백준 1005] ACM Craft (0) | 2021.07.05 |