프로그래머스 - 프린터

이윤주·2020년 4월 30일

코딩테스트

목록 보기
4/18
function solution(priorities, location) {
    var answer = 0;
    
    // let arr = []
    let obj = {}
    let maxNum = Math.max(...priorities)
    console.log(maxNum)
/*
스택 큐구조 : 우선순위가 아니면 뒤로 뺀다~~ 

    arr = [
        {value: 3, idx: 0},
        {value: 3, idx: 1},
        {value: 4, idx: 2}, 
        {value: 2, idx: 3,
    ]
    */
    let arr = priorities.map((value, idx) => ({value, idx}))
    
    while(arr.length !== 0) { // 결과물 나올때까지 무한반복
    // arr에서 가장 0번째 idx를 꺼낸다 꺼낸다.
    let currArr = arr.shift() 
    
    // 만약 나머지 arr의 value들 중에서 currArr.value보다 중요도가 높은것 (큰것)이 있으면
    if(arr.some((curr) => 
        curr.value > currArr.value)) {
    // currArr를 arr의 가장 마지막에 넣습니다.
            arr.push(currArr)
         } else {
    // 그렇지 않으면(false라면) answer++         
             answer++
    // 만약 currArr.idx가 출력하려는 location이라면 return answer한다.         
               if(currArr.idx === location) {
                 return answer
               }
         }  

    }
}

0개의 댓글