-풀이
import sys
N = int(sys.stdin.readline())
answer = []
for i in range(N):
a = sys.stdin.readline().split()
if a[0] == 'push':
answer.append(a[1])
elif a[0] == 'pop':
if len(answer) == 0:
print(-1)
else:
print(answer.pop(0))
elif a[0] == 'size':
print(len(answer))
elif a[0] == 'empty':
if len(answer) == 0:
print(1)
else:
print(0)
elif a[0] == 'front':
if len(answer) == 0:
print(-1)
else:
print(answer[0])
elif a[0] == 'back':
if len(answer) == 0:
print(-1)
else:
print(answer[-1])
-풀이 설명
[40분 sol] push 뒤에 숫자를 어떤식으로 판별할지 몰라서 이거만 구글링을 통해 split()함수를 이용하여 구분해서 비교할 수 있었고, 이 문제를 풀면서 배운 점은 총 세 가지다.
1.pop(0)으로 앞자리 수를 뺄 수 있다는 것.
2.print에 pop을 해도 자동으로 pop함수가 먹힌다는 것.
3.sys.stdind.readline으로 입력받아야 시간초과가 안 뜬다는 것.
'알고리즘' 카테고리의 다른 글
[스택] 백준 10828 (스택) 실버4 (0) | 2021.10.18 |
---|---|
[덱] 백준 10866 (덱) 실버4 (0) | 2021.10.18 |
[DP] 백준 1463 (1로 만들기) 실버3 (0) | 2021.10.18 |
[입출력] 백준 10992(별 찍기 17) (0) | 2021.10.17 |
[프로그래머스][level 2] 가장 큰 정사각형 찾기 (0) | 2021.10.17 |