test_case = int(input())

for _ in range(test_case):
    n, m = list(map(int, input().split(' ')))
    queue = list(map(int, input().split(' ')))
    # 튜플로 바꿔서 인덱스를 준다
    queue = [(i, idx) for idx, i in enumerate(queue)]
    # [ (2,0), (1,1), (4,2), (3,3) ] --> 값, 인덱스 쌍

    count = 0
    while True: # 무한반복
        if queue[0][0] == max(queue, key = lambda x: x[0])[0]:
            # max(queue, key = lambda x: x[0])는 (2,0), (1,1), (4,2), (3,3) 중에서 앞에 값이 가장 큰값인
            # (4,2)를 의미하고
            # max(queue, key = lambda x: x[0])[0]는 (4,2)에서 4를 의미함
            count += 1
            if queue[0][1] == m:
                print(count) # 앞에서 pop된 수가 m이 된다.
                             # 2 1 4 3
                             # 1 4 3 2 (count = 1)
                             # 4 3 2 1 (count = 2) --> m이다.
                break
            else:
                queue.pop(0)
        else:
            queue.append(queue.pop(0))

 

'코딩 테스트 > 알고리즘' 카테고리의 다른 글

프로그래머스 - 모의고사 (level1, python3)  (0) 2021.05.23
백준 5387 - 키로거  (0) 2021.02.13
백준 1874 스택 수열  (0) 2021.02.12
백준 - 2798 블랙잭  (0) 2021.02.11
백준 2920번 - 음계  (0) 2021.02.11

+ Recent posts