-
10866번: 덱
첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지
www.acmicpc.net
코드
import sys class Deque: def __init__(self): self.arr = list() def push_front(self,x): self.arr.insert(0,x) def push_back(self,x): self.arr.append(x) def pop_front(self): if self.empty(): return -1 else: return self.arr.pop(0) def pop_back(self): if self.empty(): return -1 else: return self.arr.pop() def size(self): return len(self.arr) def empty(self): if self.size() == 0: return 1 else: return 0 def front(self): if self.empty(): return -1 else: return self.arr[0] def back(self): if self.empty(): return -1 else: return self.arr[-1] answer = Deque() n = int(sys.stdin.readline()) for i in range(n): string = sys.stdin.readline().split() if string[0] == 'push_front': answer.push_front(int(string[1])) elif string[0] == 'push_back': answer.push_back(int(string[1])) elif string[0] == 'pop_front': print(answer.pop_front()) elif string[0] == 'pop_back': print(answer.pop_back()) elif string[0] == 'size': print(answer.size()) elif string[0] == 'empty': print(answer.empty()) elif string[0] == 'front': print(answer.front()) elif string[0] == 'back': print(answer.back())
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 1021번 회전하는 큐 (파이썬) (0) 2021.12.28 [백준] 1021번 회전하는 큐 (파이썬) (0) 2021.12.28 [백준] 1966번 프린터 큐 (파이썬) (0) 2021.12.28 [백준] 11866번 요세푸스 문제 0 (파이썬) (0) 2021.12.28 [백준] 2164번 카드2 (파이썬) (0) 2021.12.28