프로그래머스 / Level 2 , 스택/큐 , 프린터 자바스크립트 , JS
풀이 시간
Check Point ! ( 해당사항 ✓체크 )
1. 막힘 없이 수월하게 풀린 문제인가?
2. 1시간이내로 풀렸던 문제인가?
3. 1시간 이상 or 며칠을 두고 풀어봤더니 풀린 문제인가?
4. 시간을 써도 도무지 풀 수 없는 문제인가?
5. 솔루션을 찾아봤는가?
-------------------------------------------------------------------------------------------
난이도 체감
1. 최상
2. 상
3. 중
4. 하
<이해도>
1. 완벽히 이해
2. 다소 헷갈리는 부분들이 있음
3. 이해 못함
<덧붙일 말>
우선순위랑 인덱스가 담긴 2차원 배열을 만들어주고 문제 조건대로 정렬해 나간뒤에 정렬된 배열에서 location 값과 같은 인덱스가 담겨있는 위치의 정렬된 배열 인덱스 값 +1 을 return 해주면 된다.
문제 출처
https://school.programmers.co.kr/learn/courses/30/lessons/42587
정답
function solution(priorities, location) {
let arr = [...new Array(priorities.length)].map((v, i) => [priorities[i], i]);
let result = [];
priorities = priorities.sort((a, b) => b - a);
let idx = 0;
while (arr.length !== 0) {
for (let i = 0; i < arr.length; i++) {
if (arr[0][0] !== priorities[0]) {
let tmp = arr[0];
arr = [...arr.splice(1), tmp];
} else {
priorities = priorities.splice(1);
result = [...result, arr[0]];
arr = arr.splice(1);
break;
}
}
}
for (let j = 0; j < result.length; j++)
if (result[j][1] === location) return j + 1;
}
반응형
'알고리즘 공부 > 프로그래머스 - 자바스크립트' 카테고리의 다른 글
프로그래머스 / Level 2 , 깊이/너비 우선 탐색(DFS/BFS) , 타겟 넘버 자바스크립트 , JS (1) | 2022.09.29 |
---|---|
프로그래머스 / Level 2 , 2019 KAKAO BLIND RECRUITMENT , 오픈채팅방 자바스크립트 , JS (0) | 2022.09.28 |
프로그래머스 / Level 2 , 2019 카카오 개발자 겨울 인턴십 , 튜플 자바스크립트 , JS (0) | 2022.09.26 |
프로그래머스 / Level 2 , 2018 KAKAO BLIND RECRUITMENT , [1차] 뉴스 클러스터링 자바스크립트 , JS (1) | 2022.09.25 |
프로그래머스 / Level 2 , 스택/큐 , 기능개발 자바스크립트 , JS (0) | 2022.09.23 |