728x90

< 해결 방법 >

알고리즘 자체는 생각보다 금방 짰다. 하지만 마지막 비교 과정에서 index 를 생각하지 못했었고 이를 이용해서 해결을 했다.

 

import sys
from collections import deque
 
a,b = map(int,sys.stdin.readline().rstrip().split(" "))
 
find = list(map(int,sys.stdin.readline().rstrip().split(" ")))
 
k = [ ]
 
answer = 0
 
for i in range(0,a):
    k.append(i+1)
 
def left(k):
    k.append(k[0])
    del k[0]
    return k
 
 
def right(k):    
    length = len(k)
    k = k*2
    k = k[length-1:len(k)-1]
    return k
 
 
 
for i in range(0,len(find)):
    while True:
        if k[0]==find[i]:
            del k[0]
            break
        else:
            if k.index(find[i])<=int(len(k)/2):
                k = left(k)
                answer+=1
            else:
                k = right(k)
                answer+=1
 
print(answer)
728x90

+ Recent posts