프로그래머스 프린터 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
네.. 뭐.. 김건호입니다...

0개의 댓글

관련 채용 정보