728x90 splice()2 [프로그래머스] 수열과 구간 쿼리 2 : JavaScript 📌 문제 📌 풀이function solution(arr, queries) { const result = queries.map(([s,e,k]) => { const list = arr.slice(s, e + 1).filter(num => num > k); return list.length > 0 ? Math.min(...list) : -1; }) return result;}[s,e,k] : 배열 구조 분해 할당을 통해 각 쿼리를 분리한다slice() : s부터 e까지 범위의 값을 분리한다. slice의 끝 인덱스는 포함되지 않으므로 e + 1을 사용slice() : 새로운 배열을 반환한다 (원본 배열이 그대로 유지)splice() : 원본 배열이 수정된다.. 2024. 12. 30. [프로그래머스] 문자열 겹쳐쓰기 : JavaScript 📌 문제 📌 풀이 function solution(my_string, overwrite_string, s) { let arr = [...my_string]; arr.splice(s, overwrite_string.length, overwrite_string); return arr.join(''); } my_string 은 문자열이기 때문에 배열(arr)로 만들어 준다. 여기서 spread operator 를 사용하는 이유는 splice() 가 얕은 복사를 하기 때문이다. * 참고로 slice() 는 깊은 복사를 한다. (얕은 복사 / 깊은 복사 정리글) splice(start, deleteCount, element) : • start = 배열의 변경을 시작할 인덱스 • deleteCount = 배열에서 .. 2023. 11. 7. 이전 1 다음 728x90