문제
https://school.programmers.co.kr/learn/courses/30/lessons/181923
풀이
배열을 잘라 조건에 맞게 필터링을 건 후 최소값 넣어준다.
function solution(arr, queries) {
let answer = [];
for (query of queries) {
const [s, e, k] = query;
const line = arr.slice(s, e + 1).filter((v) => v > k);
answer.push(line.length > 0 ? Math.min(...line) : -1);
}
return answer;
}
다른 풀이
map을 이용해 조건에 맞는 배열을 반환
function solution(arr, queries) {
return queries.map(([s, e, k]) => arr.slice(s, e + 1).filter((n) => n > k).sort((a, b) => a - b)[0] || -1);
}
'개발 > 알고리즘(코딩테스트)' 카테고리의 다른 글
프로그래머스, 자바스크립트) 정사각형으로 만들기 (0) | 2024.03.04 |
---|---|
프로그래머스, 자바스크립트) 무작위로 K개의 수 뽑기 (0) | 2024.03.03 |
프로그래머스, 자바스크립트) 삼각형의 완성조건 (2) (0) | 2024.03.02 |
프로그래머스, 자바스크립트) 배열 만들기 6 (0) | 2024.02.26 |
프로그래머스, 자바스크립트) 구슬을 나누는 경우의 수 (0) | 2024.02.25 |