Algoritm/BOJ

[BOJ] 10845 : 큐

twoDeveloper 2021. 9. 11. 23:27

■ 문제풀이

· deque를 활용

· deque 에선 pop()이 아닌 popleft()

 

■ 문제해답

from collections import deque
import sys
input = sys.stdin.readline

n = int(input())

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

문제출처 : https://www.acmicpc.net/problem/10845

 

10845번: 큐

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

www.acmicpc.net

 

'Algoritm > BOJ' 카테고리의 다른 글

[BOJ] 10799번 : 쇠막대기  (0) 2021.09.14
[BOJ] 1158번 : 요세푸스 문제  (0) 2021.09.12
[BOJ] 9093번 : 단어뒤집기  (0) 2021.09.08
[BOJ] 10828번 : 스택  (0) 2021.09.07
[BOJ] 2164번 : 카드2  (0) 2021.09.05