백준
백준 28279 문제풀이 [python]
ys.k
2023. 8. 20. 16:31
포스팅에 앞서 내용이 틀릴 수 있습니다.
해당 부분 지적 감사히 받습니다.
문제를 보자.
간단한 큐(덱) 구현 문제다.
문장 해석에 있어, 헷갈리는 부분이 있었다.
3, 4번에 정수를 빼고 출력한다는데, 정수를 뺀 나머지 덱을 출력하라는 건지, 정수를 뺀 다음에 그 수를 출력하라는 건지, 가끔 백준 문제를 풀다 보면 이렇게 여러 가지 해석이 나오는 경우가 있다.
그리고 출력값의 형태가 오답 여부를 결정하는것 같다.
같은 1을 출력하지만, int형인지, str형인지에 따라 오답 여부가 나뉘는 것 같다.
코드
from collections import deque
import sys as s
n = int(s.stdin.readline())
queue= deque()
for i in range(n):
sen = list(map(int,s.stdin.readline().split()))
if len(sen) > 1:
if sen[0] == 1:
queue.appendleft(int(sen[1]))
elif sen[0] == 2:
queue.append(int(sen[1]))
else:
if sen[0] == 3:
print(queue.popleft() if queue else -1)
elif sen[0] == 4 :
print(queue.pop() if queue else -1)
elif sen[0] == 5:
print(len(queue))
elif sen[0] == 6:
print(0 if queue else 1)
elif sen[0] == 7:
print(queue[0] if queue else -1)
elif sen[0] == 8:
print(queue[-1] if queue else -1)