티스토리 뷰
https://www.acmicpc.net/problem/1966
*M번째 문서의 중요도가 가장 높을 때까지 문서를 맨 뒤로 재배치(index의 맨 끝)
import sys
for _ in range(int(sys.stdin.readline())):
N, M = map(int, sys.stdin.readline().split())
weight = list(map(int, sys.stdin.readline().split()))
res = 1
index = [i for i in range(N)]
while(1):
if (index[0] == M) and (weight[index[0]] == max(weight)):
# 현재 문서는 M번째 문서이며, 중요도가 가장 높은 경우
break
else: # M번째 문서보다 중요도가 높은 문서가 있는 경우
if weight[index[0]] == max(weight): #현재 문서의 중요도가 가장 높을 경우
weight[index[0]] = -1
index.remove(index[0]) # 문서 출력
res += 1
else:
# 문서를 맨 뒤로 재배치
index.append(index[0])
index.remove(index[0])
print(res)
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준] 5585 : 거스름돈 - Python (0) | 2020.04.17 |
---|---|
[백준] 2309 : 일곱 난쟁이 - Python (0) | 2020.04.17 |
[백준] 1094 : 막대기 - Python (0) | 2020.04.16 |
[백준] 2455 : 지능형 기차 - Python (0) | 2020.04.16 |
[백준] 2579 : 계단 오르기 - Python (0) | 2020.04.15 |