[프로그래머스] 코딩테스트 연습 - 37

krkorklo·2022년 2월 7일
0

프로그래머스

목록 보기
37/78

level 2 - 프린터

현재 대기목록에 있는 문서의 중요도가 순서대로 담긴 배열 priorities와 내가 인쇄를 요청한 문서가 현재 대기목록의 어떤 위치에 있는지를 알려주는 location이 매개변수로 주어질 때, 내가 인쇄를 요청한 문서가 몇 번째로 인쇄되는지 return 하도록 solution 함수를 작성해주세요.

입출력 예시
priorities : [2, 1, 3, 2]
location : 2
-> 1

function solution(priorities, location) {
    var answer = 1;
    while(true) {
        var max = Math.max(...priorities);
        var idx = 0;
        while(priorities[idx] != max) {
            location = (location == 0 ? priorities.length - 1 : location - 1);
            var tmp = priorities.shift();
            priorities.push(tmp);
        }
        if (location == idx) break;
        else {
            priorities.shift();
            location--;
            answer++;
        }
    }
    return answer;
}

0개의 댓글