프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
작성 코드 (1차 시도 / 통과)
function solution(prs, location) {
let now = 0
prs[location] = prs[location].toString()
while (prs.length) {
const p = prs.shift()
if (p < Math.max(...prs)) prs.push(p)
else {
if (typeof p === "string") return ++now
++now
}
}
}
구현 로직 (Queue)
1. 요청한 문서만 어떤 것인지를 구분하기 위해 string으로 변환.
2. 우선순위 배열(prs)이 빌 때까지 반복문 순회.
3. prs에서 가장 앞 원소를 pop.
4. 이 값보다 남은 prs 원소들 중 가장 큰 값이 더 크다면 prs에 다시 푸시.
5. 그렇지 않은 경우 출력 순서(now)를 1증가하되, 현재 출력하는 문서가 요청한 문서인 경우(type이 string인 경우) 출력순서 1증가시키고 리턴.

'알고리즘 테스트 ⏲ > 프로그래머스' 카테고리의 다른 글
| [KAKAO RECRUITMENT] 괄호 변환 풀이 / JavaScript (0) | 2023.04.05 |
|---|---|
| [프로그래머스] 롤케이크 자르기 풀이 / JavaScript (0) | 2023.04.03 |
| [프로그래머스] 타겟 넘버 풀이 / JavaScript (0) | 2023.04.02 |
| [프로그래머스] 구명보트 풀이 / JavaScript (0) | 2023.04.01 |
| [KAKAO RECRUITMENT] 방금그곡 풀이 / JavaScript (0) | 2023.03.26 |