프로그래머스 프린터 JavaScript

김건호·2021년 10월 1일
0

문제링크

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 리턴.

자바스크립트 메소드 some() 자료

profile
Ken, 🔽🔽 거노밥 유튜브(house icon) 🔽🔽

0개의 댓글