취준/코딩테스트
백준 28279 (python): 덱2
린구
2024. 6. 25. 14:25
반응형
import sys
from collections import deque
N = int(input())
q = deque([])
for _ in range(N):
cmd = list(map(int, sys.stdin.readline().split()))
if len(cmd) == 2:
if cmd[0] == 1:
q.appendleft(cmd[1])
elif cmd[0] == 2:
q.append(cmd[1])
else:
if q:
if cmd[0] == 3:
print(q.popleft())
elif cmd[0] == 4:
print(q.pop())
elif cmd[0] == 5:
print(len(q))
elif cmd[0] == 6:
print(0)
elif cmd[0] == 7:
print(q[0])
else:
print(q[-1])
else:
if cmd[0] == 5:
print(0)
elif cmd[0] == 6:
print(1)
else:
print(-1)
처음에 이렇게 풀었는데 len(cmd)를 굳이 나눌 필요 없었다.
난 바보다!
import sys
from collections import deque
N = int(input())
q = deque([])
for _ in range(N):
cmd = list(map(int, sys.stdin.readline().split()))
if cmd[0] == 1:
q.appendleft(cmd[1])
elif cmd[0] == 2:
q.append(cmd[1])
elif cmd[0] == 3:
print(q.popleft() if q else -1)
elif cmd[0] == 4:
print(q.pop() if q else -1)
elif cmd[0] == 5:
print(len(q))
elif cmd[0] == 6:
print(0 if q else 1)
elif cmd[0] == 7:
print(q[0] if q else -1)
elif cmd[0] == 8:
print(q[-1] if q else -1)
그리고 print 문에 if else 문을 넣을 수 있는 것을 알게 되었다!
대박적.
앞으로 이렇게 풀어야지
반응형