-
백준 10866번 어떻게 풀었나, 덱(Deque) 구현백준 2022. 12. 31. 12:54
코드
import sys N = int(sys.stdin.readline()) stack = [] for i in range(N): cmd = sys.stdin.readline().strip() # push_front X: 정수 X를 덱의 앞에 넣는다. if "push_front" in cmd: stack.insert(0, cmd[11:]) # push_back X: 정수 X를 덱의 뒤에 넣는다. if "push_back" in cmd: stack.append(cmd[10:]) # pop_front: 덱의 가장 앞에 있는 수를 빼고, 그 수를 출력한다. 만약, 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다. elif cmd == "pop_front": print(stack.pop(0) if stack else -1) # pop_back: 덱의 가장 뒤에 있는 수를 빼고, 그 수를 출력한다. 만약, 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다. elif cmd == "pop_back": print(stack.pop() if stack else -1) # size: 덱에 들어있는 정수의 개수를 출력한다. elif cmd == "size": print(len(stack)) # empty: 덱이 비어있으면 1을, 아니면 0을 출력한다. elif cmd == "empty": print(0 if stack else 1) # front: 덱의 가장 앞에 있는 정수를 출력한다. 만약 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다. elif cmd == "front": print(stack[0] if stack else -1) # back: 덱의 가장 뒤에 있는 정수를 출력한다. 만약 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다. elif cmd == "back": print(stack[-1] if stack else -1)
'백준' 카테고리의 다른 글
백준 1874번 어떻게 풀었나. (0) 2023.01.03 백준 10815번 어떻게 풀었나 (0) 2023.01.02 백준 10845 어떻게 풀었나, 큐(Queue) 구현 (0) 2022.12.31 백준 10989번 어떻게 풀었나 (0) 2022.12.31 백준 2751번 어떻게 풀었나 (0) 2022.12.30