-
[1021] 회전하는 큐 (Python)[Python] 알고리즘/Silver 2021. 12. 21. 16:22
[문제]
https://www.acmicpc.net/problem/1021
알고리즘 분류는 자료 구조, 덱 입니다.
deque의 위치를 이용하여 왼쪽으로 이동시킬지, 오른쪽으로 이동시킬지 정할 수 있습니다.
[코드]
import sys from collections import deque N, M = map(int, sys.stdin.readline().split()) dq = deque(_ for _ in range(1, N + 1)) pop_li = list(map(int, sys.stdin.readline().split())) cnt = 0 res_cnt = 0 while len(pop_li) != res_cnt: if dq[0] == pop_li[res_cnt]: dq.popleft() res_cnt += 1 else: if dq.index(pop_li[res_cnt]) <= ((N - res_cnt) // 2): dq.append(dq.popleft()) cnt += 1 else: dq.appendleft(dq.pop()) cnt += 1 print(cnt)
'[Python] 알고리즘 > Silver' 카테고리의 다른 글
[1972] 놀라운 문자열 (Python) (0) 2021.12.23 [1544] 사이클 단어 (Python) (0) 2021.12.22 [1543] 문서 검색 (Python) (0) 2021.12.02 [4900] 7 더하기 (Python) (0) 2021.12.01 [21919] 소수 최소 공배수 (Python) (0) 2021.11.30