A = int(input()) #A는 테스트케이스 갯수를 받는 변수
for _ in range(A):
N, M = list(map(int, input().split()))
importance = list(map(int, input().split())) #중요도
numLst = list(range(len(importance))) #각 문서를 0부터 번호를 매김
numLst[M] = '!' #순서를 알고 싶은 문서를 '!'로 지정
order = 0
while True:
if importance[0] == max(importance):
order += 1
if numLst[0] == '!':
print(order)
break
else:
importance.pop(0)
numLst.pop(0)
else:
importance.append(importance.pop(0))
numLst.append(numLst.pop(0))
while문을 설명하자면,
1. 첫 번째 문서의 중요도가 전체 문서 중 가장 큰지 비교
2. 중요도가 가장 크다면, order를 1 증가시킨다
3-1. 이때 첫 번째 문서가 순서를 알고 싶은 문서였다면('!'), order를 출력 후 break
3-2. 첫 번째 문서가 순서를 알고 싶은 문서가 아니었다면, pop을 통해 제거
4. 첫번째 문서의 중요도가 전체 문서 중 가장 큰 값이 아니라면, pop을 해서 다시 importance&numLst 뒤에 append
'코테연습문제' 카테고리의 다른 글
[Programmers/Python] 문자열 압축 (0) | 2023.04.20 |
---|---|
[Programmers/Python] 수식 최대화 (0) | 2023.04.19 |
[Programmers/Python] 튜플 (0) | 2023.04.17 |
[Programmers/Python] 메뉴 리뉴얼 (0) | 2023.04.17 |
[Programmers/Python] 개인정보 수집 유효기간 (0) | 2023.04.15 |