코딩테스트
[프로그래머스] 스택/큐 - 프로세스
박매트
2024. 1. 29. 13:30
문제가 이해가 안되어서... 답을 바로 봐버렸다.
다른 사람 풀이
def solution(priorities, location):
answer = 0
place = priorities.index(max(priorities))
while (True):
value = max(priorities)
if (priorities[place] == value):
priorities[place] = 0
answer += 1
if (place == location):
break
place += 1
if (place >= len(priorities)):
place = 0
return answer
기존에 있던 거에서 큰 값을 찾으면, 우선순위를 0으로 만들고, 프로세스 실행 횟수를 1 증가시킨다..
그 때 큰 값의 위치 index랑 찾고자 하는 위치 index가 같으면 프로세스 실행 횟수 return ... 대박
같지 않다면, place를 1 증가시키면서, 큰 값을 또 다시 찾으러 다니는...
이 때 place가 길이보다 길어지면 처음부터 또 다시 찾는...
이렇게 하면 오랜 시간이 걸릴 것 같은데 아닌가보다...길이는 결국 9 이내니까..