티스토리 뷰
문제링크
( https://programmers.co.kr/learn/courses/30/parts/12081 )
분류
- Stack / Queue
1. 풀이 힌트
- 출력되야 하는 프린터의 우선순위와 인덱싱을 함께 고려하기 위해 우선순위를 담은 고유 객체 배열을 만들어 준다.
- 우선순위의 배열을 정렬 한 뒤 가장 높은 우선순위와 현재 출력되는 프린터를 비교 한 뒤 문제의 조건대로 알고리즘을 구현한다.
2. 코드 풀이
function solution(priorities, location) {
let objArr = priorities.map((pr, idx) => ({ pr }));
priorities.sort((a, b) => a - b)
const sortedPrArr = [...priorities];
let target = objArr[location];
let answer = 0;
let maxPr = sortedPrArr.pop();
while (objArr.length > 0) {
if (maxPr === objArr[0].pr) {
answer++;
if (objArr[0] === target) {
return answer;
} else {
maxPr = sortedPrArr.pop();
objArr = objArr.slice(1);
}
} else {
const [first, ...others] = objArr;
others.push(first);
objArr = others;
}
}
return answer;
}
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 점프와 순간이동 (0) | 2023.10.03 |
---|---|
프로그래머스 - 배달 (Javascript) (0) | 2022.01.26 |
[프로그래머스] 타겟넘버 (Javascript) (0) | 2021.11.05 |
[프로그래머스] 다리를 지나는 트럭 (Javascript) (0) | 2021.09.20 |
댓글
최근에 올라온 글
최근에 달린 댓글
TAG
- 20200406
- 20200504
- 20200424
- likelion
- 20200622
- 20200420
- 20200423
- chapter7
- 20200624
- 20200415
- 백준
- 20200413
- 20200804
- 20200429
- 20200403
- 20200502
- 생활코딩리눅스
- 20200317
- 20200330
- 20200428
- 20200417
- 20200319
- chapter8
- 20200421
- 20200427
- 20200510
- 20200512
- 20200503
- 20200425
- 20201204
- Total
- Today
- Yesterday