제목 - 문제보러가기
문제 설명
큐에서 사용하는 6가지 명령어에 대한 동작을 정의하는것 (push, pop, size, empty, front, back)
입력
15
push 1
push 2
front
back
size
empty
pop
pop
pop
size
empty
pop
push 3
empty
front
출력
1
2
2
0
1
2
-1
0
1
-1
0
3
풀이
큐의 6가지 동작을 만들어주는 단순한 문제다.
큐 구조체의 특징(FIFO)를 알고있으면 손쉽게 만들 수 있다.
다만 input()을 이용하면 시간초과가 나오는 문제다.
sys라이브러리를 활용해주면 시간초과없이 성공적으로 해결할 수 있다.
코드
import sys
stack = []
for _ in range(int(sys.stdin.readline())):
order = sys.stdin.readline().split()
if order[0] == "push": stack.append(order[1])
elif order[0] == "pop": print(stack and stack.pop(0) or -1)
elif order[0] == "size": print(len(stack))
elif order[0] == "empty": print(not stack and 1 or 0)
elif order[0] == "front": print(len(stack) <= 0 and -1 or stack[0])
elif order[0] == "back": print(len(stack) <= 0 and -1 or stack[len(stack)-1])
'데일리 프로그래밍' 카테고리의 다른 글
[프로그래머스] 멀쩡한 사각형 (0) | 2019.12.04 |
---|---|
[백준][2292] 벌집 [Golang] (0) | 2019.12.02 |
[프로그래머스] 숫자 야구 [Golang] (0) | 2019.11.29 |
[백준][15953] 상금 헌터 [Golang] (0) | 2018.11.21 |