728x90
문제출처: https://www.acmicpc.net/problem/10845
10845번: 큐
첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지
www.acmicpc.net
1. 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
from sys import stdin
n = int(stdin.readline())
Que = []
for i in range(n) :
arr = stdin.readline().split()
if arr[0] == 'push':
Que.append(arr[1])
elif arr[0] == 'pop':
if Que:
print(Que.pop(0))
else:
print(-1)
elif arr[0] == 'size':
print(len(Que))
elif arr[0] == 'empty' :
if len(Que) == 0:
print(1)
else: print(0)
elif arr[0] == 'front' :
if len(Que) == 0:
print(-1)
else : print(Que[0])
elif arr[0] == 'back' :
if len(Que) == 0:
print(-1)
else : print(Que[-1])
|
cs |
2. 해결과정
기본적인 큐 출력 문제이다.
input()을 넣어서 입력을 받으면 시간 초과가 뜨기 때문에
from sys import stdin를 추가해주고, n값의 입력과 arr의 입력을 int(stdin.readline()), arr = stdin.readline().split()
의 형태로 받아줘야한다.
3. 느낀점
처음에 input()으로 해서 시간초과가 났던 문제
728x90
'공부 자료 > 알고리즘' 카테고리의 다른 글
(Python/파이썬) 백준 2164번 - 카드2 (0) | 2021.08.18 |
---|---|
(Python/파이썬) 백준 10866번 - 덱 (0) | 2021.08.18 |
(Python/파이썬) 백준 2504번 - 괄호의 값 (0) | 2021.08.18 |
(Python/파이썬) 백준 5635번 - 생일 (0) | 2021.08.13 |
(Python/파이썬) 백준 2822번 - 점수 계산 (0) | 2021.08.13 |