IT/알고리즘

[백준] 큐 10845.python

Terriermon 2021. 2. 4. 00:49

 문제

- stack과 비슷한 문제이다.

- Queue를 구현한다.

 

 

 해설 및 코드

 

Python의 경우 Queue 내장 함수가 존재하지만 정의된 함수가 매우 적다.

 

따라서 list로 구현하였다.

 

stack과 대부분 동일하지만, Queue의 pop은 제일 앞을 가져온다.

 

import sys
N = int(sys.stdin.readline().rstrip())
que = []

for _ in range(N):
    cmd = list(sys.stdin.readline().rstrip().split())

    if cmd[0] == "push":
        que.append(cmd[1])

    elif cmd[0] == "pop":
    	# 제일 앞을 pop 한다.
        print(que.pop(0) if len(que) else -1)

    elif cmd[0] == "size":
        print(len(que))

    elif cmd[0] == "empty":
        print(0 if len(que) else 1)

    elif cmd[0] == "front":
        print(que[0] if len(que) else -1)

    elif cmd[0] == "back":
        print(que[-1] if len(que) else -1)

 

 

Python 문법 정리

- 내장 함수 Queue 사용 시 문법
from queue import Queue

que = Queue(MaxSize)	# MaxSize의 길이를 가진 Queue 생성

que.qsize()				# queue에 담긴 객체 개수 반환
que.put(0)				# queue에 객체 담음
que.get()				# queue 객체 반환

 

- list.pop( index ): 인덱스 위치의 객체 반환 후 삭제

 

'IT > 알고리즘' 카테고리의 다른 글

[백준] 보물 1026.python  (0) 2021.02.09
[백준] 에디터 1406.python  (0) 2021.02.07
[백준] 덱 10866.python  (0) 2021.02.07
[백준] 스택 10828.python  (0) 2021.02.03
[백준] 수찾기 1920.python  (0) 2021.01.28