본문 바로가기

카테고리 없음

[Python] 백준 10845 큐

반응형

코드 작성

import sys
input = sys.stdin.readline

n = int(input())
stack = []
for _ in range(n):
    cmd = list(input().split())
    
    if cmd[0]=='push':  
        stack.append(cmd[1])
        
    elif cmd[0]=='pop':
        if len(stack)==0:
            print(-1)
        else:
            print(stack.pop(0))
            
    elif cmd[0]=='empty':
        if len(stack)==0:
            print(1)
        else:
            print(0)
            
    elif cmd[0]=='size':
        print(len(stack))
        
    elif cmd[0]=='front':
        if len(stack)==0:
            print(-1)
        else:
            print(stack[0])
            
    elif cmd[0]=='back':
        if len(stack)==0:
            print(-1)
        else:
            print(stack[-1])

코드 풀이

#1

command의 약자 cmd를 리스트 2개로 입력받아 첫번째는 명령어, 두번째는 입력할 값으로 정해주었다. push의 경우 두번째 입력값 cmd[1]이 스택에 쌓일 수 있도록 한다.

 

#2

pop을 사용할 때 가장 앞에 있는 정수를 뽑아내고자 할 때에는 pop(0)으로 구현해야 한다. pop()으로 하면 가장 뒤의 수가 출력 된다.

 

#3

가장 앞의 정수를 출력하는 것은 print(stack[0]), 가장 뒤의 수를 출력하는 것은 print(stack[-1])로 표현 가능

 

반응형