수열과 구간 쿼리 2

issol·2023년 6월 16일
0

코딩테스트

목록 보기
30/118
post-thumbnail

TIS Day 30

수열과 구간 쿼리 2

정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [s, e, k] 꼴입니다.
각 query마다 순서대로 s ≤ i ≤ e인 모든 i에 대해 k보다 크면서 가장 작은 arr[i]를 찾습니다.
각 쿼리의 순서에 맞게 답을 저장한 배열을 반환하는 solution 함수를 완성해 주세요.
단, 특정 쿼리의 답이 존재하지 않으면 -1을 저장합니다.

  • 제한 사항
    • 1 ≤ arr의 길이 ≤ 1,000
      • 0 ≤ arr의 원소 ≤ 1,000,000
    • 1 ≤ queries의 길이 ≤ 1,000
      • 0 ≤ s ≤ e < arr의 길이
      • 0 ≤ k ≤ 1,000,000
  • 입출력 예

풀이

function solution(arr, queries) {
    var answer = [];
    var tmp = arr;
    queries.map(([s,e,k]) => {
      let filteredValue = tmp.slice(s , e + 1).filter((value) => value > k)
      let res = filteredValue.length ? Math.min(...filteredValue) : -1
      tmp.push(arr.filter((value) => value !== res))
        answer.push(res)
    })
    return answer;
}
profile
프론트 엔드 개발자

0개의 댓글