*문제 출처는 백준에 있습니다.
문제 제목: 큐 / 10845번 (실버 4단계)
문제 사이트: https://www.acmicpc.net/problem/10845
문제 설명
나의 풀이
from collections import deque
import sys
input = sys.stdin.read
def push(q, i):
q.append(i)
def front(q, result):
if q:
result.append(q[0])
else:
result.append(-1)
def back(q, result):
if q:
result.append(q[-1])
else:
result.append(-1)
def size(q, result):
result.append(len(q))
def empty(q, result):
result.append(0 if q else 1)
def pop(q, result):
if q:
result.append(q.popleft())
else:
result.append(-1)
n, *commands = input().splitlines()
n = int(n)
# deque queue
q = deque()
result = []
for command in commands:
current = command.split()
if current[0] == 'push':
push(q, int(current[1]))
elif current[0] == 'front':
front(q, result)
elif current[0] == 'back':
back(q, result)
elif current[0] == 'size':
size(q, result)
elif current[0] == 'empty':
empty(q, result)
elif current[0] == 'pop':
pop(q, result)
sys.stdout.write("\n".join(map(str, result)) + "\n")
※ 알아야 할 것
자료구조 큐을 이해하면 쉽게 풀 수 있다!
'코딩테스트(프로그래머스 & 백준) > 백준-Python' 카테고리의 다른 글
백준 / 설탕 배달 / 2839번 / Python (0) | 2024.11.23 |
---|---|
백준 / A - > B / 16953번 / Python (0) | 2024.11.22 |
백준 / 임시 반장 정하기 / 1268번 / Python (1) | 2024.11.20 |
백준 / 문제집 / 1766번 / Python (0) | 2024.11.19 |
백준 / 거짓말 / 1043번 / Python (1) | 2024.11.18 |