function solution(arr, q) {
var answer = [];
for(let i=0; i<q.length; i++) {
let s = q[i][0]; let e = q[i][1]; let k = q[i][2]
let tmp = arr.slice(s,e+1).filter(i=>i>k).sort((a,b)=>a-b)
answer.push(tmp.length > 0 ? tmp[0] : -1)
}
return answer
}
쿼리의 0, 1, 2번 인덱스 값을 각각 s, e, k에 저장한다. tmp는 조건에 맞춰 s부터 e까지 arr을 자른 뒤, k보다 큰 값들을 오름차순으로 정렬한 배열이다.
answer에 tmp의 0번 인덱스를 저장한다. k보다 큰 값 중 가장 작은 값을 저장해야 하기 때문이다. 만약 tmp의 길이가 0이라면 조건에 맞는 배열이 없다는 뜻이므로 -1을 저장한다.