깡뇽

[백준] 10845번 큐 파이썬 본문

Algorithm/BAEKJOON

[백준] 10845번 큐 파이썬

깡뇽 2022. 2. 5. 23:59
반응형

Siver 4 레벨에 해당하는 문제이다. 이전에 풀었던 스택 문제와 같은 자료 구조 시리즈이다.

 

10845번 큐 풀이

[시도1] pypy3 맞았습니다!!

import sys

n = int(input())
queue = []

for i in range(n):
  say = sys.stdin.readline().rstrip()
  if 'push' in say:
    num = say.split()
    queue.append(num[-1])
  elif say == 'pop':
    if len(queue) == 0:
      print(-1)
    else:
      print(queue[0])
      queue = queue[1:]
  elif say == 'size':
    print(len(queue))
  elif say == 'empty':
    if len(queue) == 0:
      print(1)
    else:
      print(0)
  elif say == 'front':
    if len(queue) == 0:
      print(-1)
    else:
      print(queue[0])
  elif say == 'back':
    if len(queue) == 0:
      print(-1)
    else:
      print(queue[-1])

스택 문제와의 차이점은 pop을 할 때에 스택은 제일 최근에 넣은 값을, 큐에서는 제일 먼저 넣은 값을 제거한다. 그리고 큐에서는 front와 back을 사용해서 맨 앞과 뒤의 값을 출력할 수 있다.

 

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

 

10845번: 큐

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

www.acmicpc.net

 

반응형