728x90
문제
풀이
function solution(priorities, location) {
let answer = 0;
let seq = location;
let len = priorities.length;
let result = priorities;
let printList = [];
let stop = true;
while (stop) {
if (printList.length === len) {
stop = false;
break; // 탐색 완료
}
const targetPrint = result[0];
const remainPrints = result.slice(1);
if(remainPrints.find((print) => print > targetPrint)) {
// 뒤에 큰 숫자가 있으므로 인쇄 순서 맨 뒤로 이동
result.push(result.shift());
if (0 === seq) {
seq = result.length - 1;
} else {
seq = seq - 1;
}
} else {
printList.push(result.shift());
seq = seq - 1;
if (seq < 0) {
stop = false;
break; // 탐색 완료
}
}
}
answer = printList.length;
return answer;
}
채점 결과
728x90
'Study Note > Algorithm' 카테고리의 다른 글
프로그래머스 #정렬 - H-Index lv2 (0) | 2021.09.12 |
---|---|
프로그래머스 #완전탐색 - 소수 찾기 lv2 (0) | 2021.09.12 |
프로그래머스 #정렬 - 가장 큰 수 lv2 (0) | 2021.01.23 |
프로그래머스 #데모 테스트 - 직사각형 마지막 한점 좌표 구하기 (0) | 2021.01.22 |
프로그래머스 #완전탐색 - 모의고사 lv1 (0) | 2021.01.22 |
댓글