[알고리즘 문제 풀이][파이썬] 백준 10845번: 큐
백준 10845 문제 링크: https://www.acmicpc.net/problem/10845
📑 문제 설명
자료구조 큐를 구현하는 문제!
큐의 개념만 알고 있다면 코드는 간결하지만!
이 문제를 통해 얻을 수 있었던 것은... 파이썬 시간초과 해결하는 법이랄까..
입력: 명령어를 입력할 횟수를 입력한 후, push, pop, size, empty, front, back 명령어 입력
출력: 입력한 명령어에 따라 출력
💡 문제 해결 방법
list()를 사용하여 큐를 구현하였다.
push -> append(num)
pop -> pop(0) # 큐는 선입선출
size -> len(queue)
empty -> len을 사용하여 조건문 사용
front -> queue[0]
back -> queue[-1]
💻 코드
import sys
if __name__ == '__main__':
N = int(input())
queue = list()
for i in range(N):
code = sys.stdin.readline()
if (code[:4] == 'push'):
num = int(code[5:])
queue.append(num)
elif (code[:3] == "pop"):
if (len(queue) == 0):
print(-1)
else:
a = queue[0]
queue.pop(0)
print(a)
elif (code[:4] == "size"):
print(len(queue))
elif (code[:5] == "empty"):
if (len(queue) == 0):
print(1)
else:
print(0)
elif (code[:5] == "front"):
if (len(queue) == 0):
print(-1)
else:
print(queue[0])
elif (code[:4] == "back"):
if (len(queue) == 0):
print(-1)
else:
print(queue[-1])
💟 추가적으로 알게 된 점
- 시간초과의 매서움..
- input()보다 sys.stdin.readline() 함수가 2배는 시간이 절약된다.
- python3 말고 PyPy3가 시간이 절약된다.
Author And Source
이 문제에 관하여([알고리즘 문제 풀이][파이썬] 백준 10845번: 큐), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yeomja99/알고리즘-문제-풀이파이썬-백준-10845번-큐저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)