1. 문제
https://www.acmicpc.net/problem/10845
10845번: 큐
첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지
www.acmicpc.net
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 |