[백준]10845번

그녕·2023년 3월 20일
0

알고리즘 문제 풀이

목록 보기
20/29

백준 10845번

🍀내 풀이🍀

이건 너무 쉽게 빨리 잘 풀었다. 후후 칭찬해🤗 내 스스로 ~!~!
그래서 스택과 큐를 쉽게 정리해보겠다.

🟠스택


스택은 쌓아올린다는 의미, 시간 순서에 따라 자료가 쌓여서 가장 마지막에 삽입된 자료가 가장 먼저 삭제 된다. 즉, 후입선출 lifo (last in first out)이다.

🟠큐


큐는 양쪽에서 작업이 이뤄진다. 한쪽에서는 삽입, 다른 한쪽에서는 삭제가 이뤄진다.
가장 첫 원소를 front, 가장 끝 원소를 rear이다. rear로 들어와서 front부터 빠진다. 가장 먼저 들어온 front가 빠진다. 즉 선입선출이다.

끝으로 나의 정리이다.

🍀내 코드🍀

from collections import deque
import sys
input=sys.stdin.readline
N=int(input())
queue= deque()
for _ in range(N):
    x=input().split()
    if x[0]=="push":
        queue.append(x[1])
    elif x[0]=="pop":
        if not queue:
            print("-1")
        else:
            print(queue.popleft())
    elif x[0]=="size":
        print(len(queue))
    elif x[0]=="empty":
        if not queue:
            print("1")
        else:
            print("0")
    elif x[0]=="front":
        if not queue:
            print("-1")
        else:
            print(queue[0])
    elif x[0]=="back":
        if not queue:
            print("-1")
        else:
            print(queue[-1])

0개의 댓글