반응형
https://programmers.co.kr/learn/courses/30/lessons/42587
나의 풀이)
이번 알고리즘도 풀지 못하였다. 제한 시간을 2시간으로 두고 풀어보았고, 수 차례 쓰고 지우고를 반복했지만 무엇인가 벽이 느껴졌다.
아이디어 힌트를 얻고 풀긴 했지만 2단계에 들어서고부터는 계속 힌트를 얻어 풀고있는데 만족스럽지 못하다.
function solution(priorities, location) {
let rank = 0;
while (priorities.length) {
if (priorities[0] < Math.max(...priorities)) {
if (--location < 0) location = priorities.length - 1;
priorities.push(priorities.shift());
} else {
rank += 1;
if (--location < 0) return rank;
priorities.shift();
}
}
}
값이 최대값보다 작으면
후위 감소를 사용하여 location인지 확인하고,
shift값을 바로 push 하여 priorities 자체를 스택으로 활용하였다.
값이 최대값보다 크다면
rank를 올리고 후위 감소를 사용하여 타깃인지 확인하여 rank를 반환했다.
그리고 shift하여 출력하였다.
반응형
'IT > Algorithm' 카테고리의 다른 글
leetCode) 35. Search Insert Position (0) | 2021.11.26 |
---|---|
프로그래머스) 카펫 (0) | 2021.11.26 |
프로그래머스) 구명보트 (0) | 2021.11.23 |
프로그래머스) 큰 수 만들기 (0) | 2021.11.21 |
프로그래머스) 124 나라의 숫자 (0) | 2021.10.29 |