🖥️Frontend/Programmers

[JavaScript] 2의 영역

뉴발자 2024. 6. 10.
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

댓글