<내 코드>
case = int(input())
for _ in range(case):
# n : 자료 개수 , m : 찾고자 하는 자료 위치
n, m = map(int, input().split())
imp = list(map(int, input().split()))
temp = [0 for _ in range(n)] #리스트 표현식으로 0인 리스트 생성
temp[m] = 1 # 찾고자 하는 m번째를 1로 표시
cnt = 0
while imp:
if imp[0] == max(imp):
cnt += 1
if temp[0] == 1:
print(cnt)
break
else:
imp.pop(0)
temp.pop(0)
else:
imp.append(imp[0])
temp.append(temp[0])
del(imp[0])
del(temp[0])
- 중요도를 표시하는 imp 입력을 리스트로 만든다.
- imp 리스트와 비교하기 위한 temp 리스트를 만든다.
- imp[0]이 젤 큰 값인지 판단해, 아니라면 imp, temp 첫 요소를 뒤로 보내고 한 칸씩 땡긴다.
- imp[0]이 최댓값이면서 찾고자 하는 값이면 cnt 값을 출력하고 종료한다. 만약 찾고자 하는 값이 아니면 지우고 한 칸씩 땡긴다.
반응형
'알고리즘 문제풀기 > 백준 - Python' 카테고리의 다른 글
[백준 1920] 수 찾기 - Python (이분탐색) (0) | 2020.08.18 |
---|---|
[백준 11866] 요세푸스 순열 - Python (0) | 2020.08.18 |
[백준 2164] 카드 2 - Python (0) | 2020.07.25 |
[백준 18258] 큐 2 - Python (0) | 2020.07.25 |
[백준 1874] 스택 수열 - Python (0) | 2020.07.24 |