[Javascript : programmers] 수열과 구간 쿼리 1 (Lv.0)
문제
나의 정답 풀이
function solution(arr, queries) {
for(let q of queries){
arr = arr.map((v,i)=> (i>=q[0]) && (i<=q[1]) ? v+1 : v)
}
return arr;
}
구조 분해를 통해서 이차원 배열인 quries에 들어있는 각 원소들을 s, e로 둔다.
arr의 각 인덱스가 s,e 사이에 있다면 v+1, 아니면 v를 반환하여 arr에 다시 저장한다.
이를 반복한 후 arr을 반환한다.
다른 사람 풀이
function solution(arr, queries) {
for (let [s,e] of queries) for (let i=s; i<= e; i++) arr[i]++
return arr
}
두번째 for 문에서 s~e 까지를 돌면서 for문으로 arr[i]++를 한다는 점이 차이점이다.
또한 첫번째 for 문에서 변수를 지정할 때 구조 분해를 통해서 변수를 지정하는 것이 편하다.
'Javascript > 자바스크립트 문제' 카테고리의 다른 글
[Javascript : programmers] 수열과 구간 쿼리 3 (Lv.0) ft. swap 💥 (0) | 2024.08.26 |
---|---|
[Javascript : programmers] 수열과 구간 쿼리 2 (Lv.0) (0) | 2024.08.26 |
[Javascript : programmers] 배열 만들기 6 (Lv.0) (0) | 2024.08.26 |
[Javascript : programmers] 배열 만들기 5 (Lv.0) (0) | 2024.08.26 |
[Javascript : programmers] 콜라츠 수열 만들기 (Lv.0) (0) | 2024.08.26 |