파이썬 알고리즘 문제 풀이

BaekJoon Online Judge 10845번 파이썬

gogi masidda 2022. 5. 17. 16:48

문제 링크
https://www.acmicpc.net/problem/10845

먼저 각각의 기능에 맞는 함수를 작성하였다.
push함수는 입력 받을 때 숫자와 함께 입력하므로
cmd를 리스트로 입력받아 cmd[1]을 함수의 매개변수로 사용하였다.

정답 코드

import sys

N = int(sys.stdin.readline())
queue = []

def push(X):
  queue.append(X)

def pop():
  if len(queue) == 0:
    print(-1)
  else:
    print(queue[0])
    queue.pop(0)

def size():
  print(len(queue))

def empty():
  if len(queue) == 0:
    print(1)
  else:
    print (0)

def front():
  if len(queue) == 0:
    print(-1)
  else:
    print(queue[0])

def back():
  if len(queue) == 0:
    print(-1)
  else:
    print(queue[len(queue)-1])

for i in range(0,N):
  cmd = list(sys.stdin.readline().split())
  if cmd[0] == "push":
    push(cmd[1])
  elif cmd[0] == "pop":
    pop()
  elif cmd[0] == "size":
    size()
  elif cmd[0] == "empty":
    empty()
  elif cmd[0] == "front":
    front()
  elif cmd[0] == "back":
    back()
728x90