[백준 18258] 큐 2

Junyoung Park·2022년 2월 25일
0

코딩테스트

목록 보기
83/631
post-thumbnail

1. 문제 설명

큐 2

2. 문제 분석

큐의 기능을 구현한다. input()보다는 sys.stdin.readline().strip()으로, 일반 리스트보다는 디큐로 구현할 때 시간 초과가 나지 않는다.

3. 나의 풀이

import sys
from collections import deque

n = int(input())
queue = deque()
# 리스트가 아니라 디큐(O(1))로 팝과 푸쉬하자.
for _ in range(n):
    cmd = sys.stdin.readline().strip()
    if cmd == 'size':
        print(len(queue))
    elif cmd == 'empty':
        if queue: print(0)
        else: print(1)
    elif cmd == 'front':
        if queue: print(queue[0])
        else: print(-1)
    elif cmd == 'back':
        if queue: print(queue[-1])
        else: print(-1)
    elif cmd == 'pop':
        if queue: print(queue.popleft())
        else: print(-1)
    else:
        cmd, num = cmd.split()
        num = int(num)
        queue.append(num)
  • 시간 초과를 해결하는 데 시간을 더 쓴 문제
profile
JUST DO IT

0개의 댓글