https://school.programmers.co.kr/learn/courses/30/lessons/181923
정수 배열
arr
와 2차원 정수 배열queries
이 주어집니다.queries
의 원소는 각각 하나의query
를 나타내며,[s, e, k]
꼴입니다.각
query
마다 순서대로s
≤i
≤e
인 모든i
에 대해k
보다 크면서 가장 작은arr[i]
를 찾습니다.각 쿼리의 순서에 맞게 답을 저장한 배열을 반환하는 solution 함수를 완성해 주세요.
단, 특정 쿼리의 답이 존재하지 않으면 -1을 저장합니다.
function solution(arr, queries) {
var answer = [];
for(let [s,e,k] of queries){
let temp = arr.filter((v,i)=>(i>=s&&i<=e&&v>k)).sort((a,b)=>a-b)[0]
answer.push(temp?temp:-1)
}
return answer;
}
console.log(solution([0, 1, 2, 4, 3],[[0, 4, 2],[0, 3, 2],[0, 2, 2]]))
function solution(arr, queries) {
var answer = [];
for(let [s,e,k] of queries){
//v->요소값, i-> 순회하는 인덱스
//작은것부터 나열해준다음 제일 작은 0번쨰 인덱스를 temp에 넣어줌
let temp = arr.filter((v,i)=>(i>=s&&i<=e&&v>k)).sort((a,b)=>a-b)[0];
//temp가 존재하면 temp값을 없으면 -1값을 answer에 넣어준다.
answer.push(temp?temp:-1)
}
return answer
}