개발 연습장/백준 문제풀이

[파이썬, Python] 백준 18258: 큐2

LooanCheong 2023. 5. 16. 11:16
반응형

문제

https://www.acmicpc.net/problem/18258

 

18258번: 큐 2

첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 2,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지

www.acmicpc.net

코드

from collections import deque
import sys

input = sys.stdin.readline

n = int(input())

q = deque([])

for _ in range(n):
    order = input().split()
    if order[0] == 'push':
            q.append(order[1])
            
    elif order[0] == 'pop':
        if len(q):
            print(q.popleft())
        else:
            print(-1)
            
    elif order[0] == 'size':
        print(len(q))
        
    elif order[0] == 'empty':
        if len(q):
            print(0)
        else:
            print(1)
            
    elif order[0] == 'front':
        if len(q):
            print(q[0])
        else:
            print(-1)
            
    elif order[0] == 'back':
        if len(q):
            print(q[-1])
        else:
            print(-1)

설명

https://looancheong.tistory.com/123

 

[파이썬, Python] 백준 10828: 스택

문제 https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같

looancheong.tistory.com

이 문제와 비슷한 문제인데 시간초과를 해결하기 위해 큐를 사용했다.

큐를 사용한 점 외에는 문제의 요구 조건에 따라 구현을 해주면 된다.

반응형