function solution(priorities, location) {
var answer = 0;
var secPri=priorities.map((a,i)=>[a,i]);
while(true) {
var temp=secPri.shift();
if(secPri.some((a)=>temp[0]<a[0])) // 우선순위가 높은 문서가 있다면
secPri.push(temp); // 맨 뒤로 이동
else {
if(temp[1]==location) break; // 출력하는 문서가 요청한 문서라면 종료
else ++answer; // 아니라면 출력된 순서 증가
}
}
return answer+1;
}
우선순위가 같은 값이 있을 때, 위치를 기억하기 위해 딕셔너리 형태로 주어진 배열을 변형 시켰다.
새로 배운 기능은 some()
배열에 해당되는 값이 있는 지 확인하는 기능을 검색하는 도중 발견하였다.
some() 메서드는 배열 안의 어떤 요소라도 주어진 판별 함수를 통과하는지 테스트한다.
참이라면 true 리턴.