꽤나 고민했다. 어떻게 하면 더 간단하게 풀 수 있을지.
T = int(input())
for _ in range(T):
N, M = map(int, input().split())
numbers = list(map(int, input().split()))
count = 0
while True:
for index in range(len(numbers)):
if any(element > numbers[index] for element in numbers):
continue
else:
numbers[index] = 0
count += 1
if index == M:
print(count)
if sum(numbers) == 0:
break
if sum(numbers) == 0:
break
중요도를 비교할 때 뒤로 넘기는 것이 아니라 순서를 뒤로 넘어가도 똑같다는 것을 알아차렸다. 순서 상관없이 비교하는 수 보다 큰 수가 하나라도 있는지 확인했다. 큰 수가 없어서 뽑아줄 때는 그자리를 0으로 만들어줬다. index에 변화를 주지 않기 위해 + 0이면 어차피 비교할때 영향을 주지 않으니까. 뽑힐 때 마다 뽑히는 수만큼 count를 늘려준다.
그 다음 내가 원하던 M이 뽑히는 순간 count를 print한다.
다른 풀이들을 찾아봤다. 다들 복잡하게 풀었더라. 내가 가장 직관적이고 간단하게 풀은 것 같다. 기분이 꽤나 좋다. 열심히 조금씩 차곡차곡 해보자.