TIL 92 | 프로그래머스 프린터 JS

Gom·2021년 10월 12일
0

Algorithm

목록 보기
48/48
post-thumbnail
function solution(priorities, location) {
    const waitingList = priorities.map((priority, index) => {
        return {
            priority,
            isTarget: index === location
        }
    })
    let count = 0
    
    while (true) {
        let firstDocument = waitingList.shift()
        let flag = false
        
        for (let i = 0; i < waitingList.length; i++) {
          if (firstDocument.priority < waitingList[i].priority) {
                waitingList.push(firstDocument)
                flag = true
                break 
            }
        }
        
        if (!flag) {
            count += 1
            if (firstDocument.isTarget) break
        }
    }
    
    return count;
}
profile
안 되는 이유보다 가능한 방법을 찾을래요

0개의 댓글