import sys
input = sys.stdin.readline
stack = []
n = int(input())
for i in range(n):
command = input().split()
#0번째 자리에 원소가 들어온다
if command[0] == 'push':
stack.append(command[1])
elif command[0] == 'pop':
if len(stack) == 0:
print(-1)
else:
#'스택에서 가장 위에 있는' = 가장 마지막에 넣은
print(stack.pop())
elif command[0] == 'size':
print(len(stack))
elif command[0] == 'empty':
if len(stack) == 0:
print(1)
else:
print(0)
elif command[0] == 'top':
if len(stack) == 0:
print(-1)
else:
#가장 늦게 들어온, 즉 맨 위 원소가 출력된다
print(stack[-1])
: 1 2 3 4 5 <-->
긴 물병과 같다.
import sys
input = sys.stdin.readline
queue = []
n = int(input())
for i in range(n):
command = input().split()
#0번째 자리에 원소가 들어온다
#index를 지정해야 하기 때문에, append가 아닌 insert 사용
if command[0] == 'push':
queue.insert(0, command[1])
elif command[0] == 'pop':
if len(queue) == 0:
print(-1)
else:
print(queue.pop())
elif command[0] == 'size':
print(len(queue))
elif command[0] == 'empty':
if len(queue) == 0:
print(1)
else:
print(0)
elif command[0] == 'front':
if len(queue) == 0:
print(-1)
else:
#가장 먼저 들어온, 즉 맨 끝 원소가 출력된다
print(queue[-1])
elif command[0] == 'back':
if len(queue) == 0:
print(-1)
else:
#가장 늦게 들어온, 즉 0번째 인덱스 원소가 출력된다
print(queue[0])
: --> 5 4 3 2 1 --> 이렇게 들어오고 나간다.
마치 구멍 뚫린 터널과 같다!
from collections import deque
import sys
input = sys.stdin.readline
n = int(input())
deque_ = deque()
for i in range(n):
command = input().split()
if command[0] == 'push_front':
deque_.append(command[1])
elif command[0] == 'push_back':
deque_.appendleft(command[1])
elif command[0] == 'pop_front':
if len(deque_) == 0:
print(-1)
else:
print(deque_.pop())
elif command[0] == 'pop_back':
if len(deque_) == 0:
print(-1)
else:
print(deque_.popleft())
elif command[0] == 'size':
print(len(deque_))
elif command[0] == 'empty':
if len(deque_) == 0:
print(1)
else:
print(0)
elif command[0] == 'front':
if len(deque_) == 0:
print(-1)
else:
print(deque_[-1])
elif command[0] == 'back':
if len(deque_) == 0:
print(-1)
else:
print(deque_[0])
: NZEC Exit code가 0이 아님 BrokenPipe
: NZEC는 Non Zero Exit Code의 약자로 프로그램의 exit code가 0이 아닌 경우를 의미합니다. 많은 프로그램과 운영체제는 정상 종료일때만 0을 리턴합니다.
-> 오타였음 ㅠ 오타 수정하니 맞음..
#1
print(d[0])
d.popleft()
#2
print(d.popleft())
#둘다..같은 값을 프린트 하고 & popleft 하는 듯!
#차이점은 아직은 모르겠다ㅠ