본문 바로가기
Algorithm

[자료구조/큐] 백준 18258 큐 2 - 파이썬(Python)

by jangThang 2022. 3. 22.
반응형

백준 온라인 저지

 

[ Contents ]

     

     

    1. 문제 (링크 참조)

     

    18258번: 큐 2

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

    www.acmicpc.net

     

     

     

    2. 문제 풀이

     자료구조 큐(Queue)를 구현하는 문제입니다.

     

    2022.02.10 - [Algorithm] - [Algorithm] 큐(Queue), 선입선출 줄서기 자료구조

     

    [Algorithm] 큐(Queue), 선입선출 줄서기 자료구조

    [ Contents ] 1. 큐(Queue) 큐(Queue): 선입선출(First-in-First-out), 가장 먼저 들어간 자료부터 꺼내는 자료구조  큐는 '줄 서는 것'과 비슷합니다. 먼저 들어가서 기다린 자료부터 차례차례 꺼냅니다. 앞에.

    star7sss.tistory.com

     큐의 기본적인 기능(함수)을 구현합니다. 자료구조 큐에 대한 설명과 구현은 위 링크에서 보실 수 있습니다.

     

     

     

    3. 코드

    from collections import deque
    import sys
    input = sys.stdin.readline
    
    #입력
    N = int(input())
    queue = deque([])
    for _ in range(N):
        op = input().rstrip()
        if op == 'pop':
            print(queue.popleft() if queue else -1)
        elif op == 'size':
            print(len(queue))
        elif op == 'empty':
            print(0 if queue else 1)
        elif op == 'front':
            print(queue[0] if queue else -1)
        elif op == 'back':
            print(queue[-1] if queue else -1)
        else: #push
            push, n = op.split()
            queue.append(int(n))

     문제 그대로 구현합니다. push만 공백으로 구분하여 인수를 받으니, 따로 처리해줍니다.

     

     

    star가 되고나서 Tistory

    반응형

    댓글