본문 바로가기
코딩테스트(알고리즘)/프로그래머스

[프로그래머스] 프린터 (Javascript)

by Cafe Mocha 2022. 6. 16.

코딩테스트 연습 - 프린터 | 프로그래머스 (programmers.co.kr)

 

코딩테스트 연습 - 프린터

일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린

programmers.co.kr


접근 방법

알고리즘 : 큐

 

1. 이중배열을 통해 중요도와 처음 위치값을 같이 기록

2. shift()를 통해 처음 값을 받고 filter를 통해 배열에 우선도를 확인 후 result로 이동


Javascript

function solution(priorities, location) {
    var answer = 0;
    let result=[];
    
    let arr=[];
    
    for(let i=0;i<priorities.length;i++){
        arr.push([priorities[i],i]);
    }

    while(arr.length>0){
        let tmp = arr.shift();
        if(arr.filter(v=>v[0]>tmp[0]).length>0){
            arr.push(tmp);
           } else{
               result.push(tmp);
           }
    }
    
    for(let i=0;i<result.length;i++){
        if(result[i][1] === location){
            answer = i+1;
        }
    }
    

    
    return answer;
}