Queue_카드1(2161)

Eugenius1st·2022년 10월 7일
0

Algorithm_Baekjoon

목록 보기
139/158
post-thumbnail

Queue_카드1(2161)

문제


코드 - 덱 풀이

# BOJ__2161__덱
from collections import deque

n = int(input())
arr = deque(list(range(1,n+1)))
tmp = 0

while len(arr)>1:
    print(arr.popleft(),end=" ") 
    tmp = arr.popleft()
    arr.append(tmp)
print(arr.popleft())

코드 - 원형큐 풀이

# BOJ__2161__원형큐
def enqueue(x):
    global rear
    if (rear+1)%arrSize != front:#is not full
        rear = (rear+1)%arrSize
        arr[rear]=x

def dequeue():
    global front
    if front == rear:#empty
        #print(arr[front])
        sys.exit()
    front = (front+1)%arrSize
    save = arr[front]
    #arr[front] = ""
    return save

arr = list(range(int(input())+1))
arrSize = len(arr)
front = 0
rear = arrSize-1
tmp = 0

while rear!=front:
    print(dequeue(), end=" ")
    tmp = dequeue()
    if(rear==front):
        break
    enqueue(tmp)
print(tmp)
profile
최강 프론트엔드 개발자가 되고싶은 안유진 입니다

0개의 댓글