Algorithm Problems

[백준] [Python] 1021번 회전하는 큐 - 덱

WakaraNai 2021. 4. 27. 14:51
728x90
반응형

www.acmicpc.net/problem/1021

 

1021번: 회전하는 큐

첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가

www.acmicpc.net

 

Python

n, m = map(int, input().split())

dq = [i for i in range(1,n+1)]
arr = list(map(int, input().split()))
cnt = 0
while len(arr) > 0:
    #print(arr[0], dq)
    if dq[0] == arr[0]:
        dq.pop(0)
        arr.pop(0)
    else:
        cnt+=1
        if  len(dq)//2 < dq.index(arr[0]):
            dq.insert(0, dq.pop())
        else:
            dq.append(dq.pop(0))
print(cnt)
728x90
반응형