SMALL
1. 수열과 구간 쿼리 2
function solution(arr, queries) {
var answer = [];
var arr_range = []; // 범위에 해당하는 배열
var res = []; // k보다 큰 값의 배열
var temp = 0; // k보다 크면서 가장 작은 값
queries.forEach( ([s, e, k]) => {
// 범위에 해당하는 배열 자르기
arr_range = arr.slice(s, e+1);
// k보다 큰 값 찾아 res 배열에 넣기
arr_range.forEach ( i => {
if (i>k) {
res.push(i);
}
})
// res 배열 원소 개수에 따른 최소값 저장
if (res.length>=2) {
temp = res[0]; // ** 처음 값을 최소값으로 가정
for(var j = 0; j<res.length; j++) {
if (res[j] < temp) {
temp = res[j];
}
}
}
else if (res.length == 1) {
temp = parseInt(res);
}
else { // (res.length == 0)
temp = -1 ;
}
answer.push(temp);
res = []; // ** res 배열 초기화! > 다음 queries에서 res 새로 지정됨.
});
return answer;
}
728x90
'Algorithm > Javascript' 카테고리의 다른 글
[프로그래머스] 230710 코딩테스트 연습 (0) | 2023.07.10 |
---|---|
[프로그래머스] 230729 코딩테스트 연습 (0) | 2023.07.09 |
[프로그래머스] 230707 코딩테스트 연습 (0) | 2023.07.08 |
[프로그래머스] 230706 코딩테스트 연습 (0) | 2023.07.06 |
[프로그래머스] 230705 코딩테스트 연습 (0) | 2023.07.05 |
댓글