728x90
문제
정수 배열 arr가 매개변수로 주어진다.
배열 안의 2가 모두 포함된 가장 작은 연속된 부분 배열을 반환하는 함수를 작성해라.
728x90
나의 풀이
function solution(arr) {
const slicer = [];
// value가 2인 index 값을 모두 저장
arr.map((v, i) => { if(v === 2) slicer.push(i) });
// 저장된 index값이 있다면 부분 배열 반환, 없다면 [-1] 반환
return slicer.length ? arr.slice(slicer[0], slicer[slicer.length-1]+1) : [-1];
}
다른 풀이
function solution(arr) {
// value가 2인 첫 번째 index 값
const from = arr.indexOf(2);
// value가 2인 마지막 index 값
const end = arr.lastIndexOf(2);
return from === -1 ? [-1] : arr.slice(from, end+1);
}
728x90
'🖥️Frontend > Programmers' 카테고리의 다른 글
[JavaScript] 순서 바꾸기 (0) | 2024.06.11 |
---|---|
[JavaScript] 배열 조각하기 (0) | 2024.06.10 |
[JavaScript] 배열 조각하기 (0) | 2024.06.10 |
[JavaScript] 문자 개수 세기 (1) | 2024.06.09 |
[JavaScript] qr code (0) | 2024.06.07 |
댓글