728x90
반응형

회전하는 큐 1021번

https://www.acmicpc.net/problem/1021

 

1021번: 회전하는 큐

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

www.acmicpc.net

import sys
from collections import deque

N,M = list(map(int , sys.stdin.readline().split()))

res = deque(map(int , sys.stdin.readline().split()))
A = deque(i for i in range(1,N+1))
cnt= 0
# print(A.index(res[0]))
while True:
    if len(res) == 0:
        break

    if A[0] == res[0]:
        A.popleft()
        res.popleft()

    elif len(A) - A.index(res[0]) >= A.index(res[0]):
        A.append(A.popleft())
        # print(A)
        cnt+=1
    else:
        A.appendleft(A.pop())
        # print(A)
        cnt+=1
print(cnt)

==> index 활용!!

728x90
반응형

+ Recent posts