[백준 10845] 큐 / 파이썬

권한·2025년 12월 26일

BOJ

목록 보기
21/40

정수를 저장하는 큐를 구현해서 입력으로 주어지는 명령을 처리하는 프로그램을 작성하는 문제이다.

큐와 스택
큐는 선입 선출(FIFO), 스택은 후입선출(LIFO)의 자료구조이다.

관건은 push의 경우 push X로 받기 때문에 다른 명령어들과 다르게 입력이 두개라는 것을 처리해야했다.
이 부분은 line 변수에 input().split()으로 입력받아 명령(line[0])만 사용하다가 값을 추가할 때 line[1]을 사용하게끔 구현했다.

import sys
input = sys.stdin.readline
que = []

for _ in range(int(input())):
    value = 0
    line = input().split()
    cmd = line[0]
    
    if cmd == "push":
        que.append(line[1])
        
    elif cmd == "pop":
        if len(que) > 0:
            print(que[0])
            del que[0]
        else:
            print(-1)
            
    elif cmd == "size":
        print(len(que))
        
    elif cmd == "empty":
        print(1 if len(que) < 1 else 0)
        
    elif cmd == "front":
        print(que[0] if len(que) > 0 else -1)
        
    elif cmd == "back":
        print(que[len(que) - 1] if len(que) > 0 else -1)
profile
티스토리로 옮김

0개의 댓글