알고리즘

<백준> 1966번 파이썬 알고리즘

changha. 2021. 7. 6. 16:48
n = int(input())
for _ in range(n):
    m, k = map(int, input().split())
    i = list(map(int,input().split()))
    i_ = [0 for _ in range(m)]
    i_[k] = 1
    cnt = 0
    while True:
        if i[0] == max(i):
            cnt += 1
            if i_[0] == 1:
                print(cnt)
                break
            else:
                i_.pop(0)
                i.pop(0)
        else:
            i.append(i[0])
            i.pop(0)
            i_.append(i_[0])
            i_.pop(0)

예전 프로그래머스에서도 본 문제이다 

처음에는 구현하기 어려웠는데 이번에 다시 해보니 이해가 빨리 됐다!