큐 개념요약정리
[개념정리] 큐(Queue)| (python, 파이썬)
큐(Queue)란? ○큐(Queue) ▷ Queue은 가장 최근에 저장된 값 다음에 저장되며, 가장 처음에 저장된 값이 먼저 나가는 자료구조이다. ▷ 큐는 enqueue 연산으로 값을 차례대로 삽입하고, dequeue 연산으
corin-jaesung.tistory.com
문제 링크
2164번: 카드2
N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가
www.acmicpc.net
문제
문제 해결방안
▷버린다 ? → pop
▷제일 위에있는 카드를 제일 아래로 옮긴다 ? → pop + push
정답코드
import sys
class Queue :
def __init__(self,n):
self.items = list(range(1,n+1)) #[1,...,n]리스트 생성
self.front_index = 0
def push(self,x) :
self.items.append(x)
def pop(self) :
if len(self.items) == 0 or len(self.items) == self.front_index :
return -1
else :
k = self.items[self.front_index]
self.front_index += 1
return k
def size(self) :
return len(self.items) - self.front_index
def empty(self) :
if len(self.items) == 0 or len(self.items) == self.front_index:
return 1
else : return 0
def front(self) :
if len(self.items) == 0 or len(self.items) == self.front_index:
return -1
else :
return self.items[self.front_index]
def back(self) :
if len(self.items) == 0 or len(self.items) == self.front_index:
return -1
else : return self.items[-1]
n = int(input())
Q = Queue(n)
while Q.size() != 1 :
Q.pop()
k = Q.pop()
Q.push(k)
print(Q.back())
▶시키는 대로 코드를 작성하면되는 간단한 문제이다
▶빠른 입력을 위해서 sys.stdin.readline() 사용 필수
'Baekjoon > 큐, 덱' 카테고리의 다른 글
[백준] 18258번, 큐 2 | (python, 파이썬) (0) | 2021.07.20 |
---|