앎을 경계하기

Programming/Algorithm

백준 #1021 - 회전하는 큐 python

양갱맨 2019. 10. 19. 01:41

import collections
import sys

NM = list(map(int, sys.stdin.readline().split(' ')))
cq = collections.deque([i+1 for i in range(NM[0])])
num = list(map(int, sys.stdin.readline().split(' ')))
sum = 0

while True:
    if not num:
        print(sum)
        break
    idx = cq.index(num[0])
    if cq[0] == num[0]:
        NM[0]-=1
        cq.popleft()
        del num[0]
    elif abs(-idx)<abs(NM[0]-idx):
        cq.rotate(-idx)
        sum+=abs(-idx)
    else:
        cq.rotate(NM[0]-idx)
        sum+=NM[0]-idx

'Programming > Algorithm' 카테고리의 다른 글

백준 #1697 - 숨바꼭질  (0) 2019.11.09
백준 #1874 - 스택 수열 python  (0) 2019.10.20
백준 #10828 - 덱 python  (0) 2019.10.19
백준 #11866 - 조세퍼스 문제 0 python  (0) 2019.10.19
백준 #2164 - 카드2 python  (0) 2019.10.19