프로그래머스 LEVEL 2(프린터)

image

  • 사용 언어 : javascript

  • 해결 날짜 : 2022-08-28

  • 해결 방법 :

    • 내가 인쇄를 요청한 문서에 -를 붙여 표시
    • priorities를 돌며 head보다 중요도가 높은 문서가 존재하면 head를 다시 push()
    • 아니면 카운트 증가. 이 때 내가 인쇄를 요청한 문서면 종료
  • 회고 : -

  • 코드

    function solution(priorities, location) {
        var answer = 0;
        priorities[location] = -priorities[location];
        while(true) {
            const head = priorities.shift();
            if(priorities.find((p) => {
                return Math.abs(p) > Math.abs(head); 
            })) {
                priorities.push(head);
            } else {
                answer++;
                if (head < 0) break;
            }
        }
        return answer;
    }
    
  • 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges