문제
풀이과정
- 주어진 배열에 max값을 구한다.
- max값이랑 배열의 첫번째 원소랑 비교 (내가찾는값이 max랑 일치할때까지 반복)
- 중요한건 index위치를 선언하여서 내가 찾는값의 위치를 계속해서 파악한다.
(각 조건문에 index의 값을 변경해주는 이유)
- 위 과정을 수행하면 answer에 내가 찾는 숫자가 몇번째로 나오는지 알 수 있다.
코드
function solution(priorities, location) {
const arr = [];
let index = location;
let answer = 0;
while(priorities.length > 0) {
const max = Math.max( ...priorities );
if(max === priorities[0]) {
arr.push(priorities.shift());
answer++;
if(index === 0) {
break;
} else {
index = index -1;
}
} else {
const shiftItem = priorities.shift();
priorities.push(shiftItem);
if(index === 0) {
index = priorities.length -1;
} else {
index = index -1;
}
}
}
return answer;
}