[프로그래머스] 프린터

dev_jo·2022년 8월 29일
0

알고리즘 풀이

목록 보기
20/25

문제

프린터



문제풀이

function solution(priorities, location) {
    
    var answer = 0;

    var arr = [];
    
    for (var i = 0; i < priorities.length; i++) {
        var obj = {};
        obj.num = priorities[i];
        obj.target = 0;
        arr.push(obj);
    }
    
    arr[location].target = 1;
    
    
    var newArr = [];
    
    while(arr.length != 0) {
        
        var max = arr[0].num; // 맥스
        var ele = arr[0].num; // 첫번째 배열
        
        // 첫번째 배열을 제외한 나머지 배열에서 최대값(맥스) 구하기
        for (var i = 1; i < arr.length; i++) {
            if (max < arr[i].num) max = arr[i].num;
        }
        
        // 첫번째 배열을 제거 (프린트 출력)
        if (ele >= max) {
            newArr.push(arr.shift());
            
        }
        // 첫번째 배열을 제거하여 맨뒤로 보냄 (첫번째 수의 우선순위가 낮아서 맨뒤로 보냄)
        else {
            arr.push(arr.shift());
        }

    }

    
    for (var j = 0; j < newArr.length; j++) {
        if (newArr[j].target == 1) {
            return answer + j+1;
        }
    }
    

 
    
 
}
profile
To be a better developer!!

0개의 댓글

관련 채용 정보