[Lv.0] 2의 영역

woodstock·2024년 2월 22일
0

코딩테스트

목록 보기
45/56
post-thumbnail

2의 영역

문제설명

정수 배열 arr가 주어진다. 배열 안의 2가 모두 포함된 가장 작은 연속된 부분 배열을 return 하는 solution 함수를 완성하는 문제이다.

단, arr에 2가 없는 경우 [-1]return 한다.

풀이

풀이 1.

function solution(arr) {
  let start = -1;
  let end = -1;
  
  for (let i = 0; i < arr.length; i++) {
    if (arr[i] === 2) {
      if (first === -1) first = i;
      last = i;
    }
  }
  
  if (first === -1) return -1;
  
  return arr.slice(first, last + 1);
}

풀이 2.

function solution(arr) {
    const start = arr.indexOf(2);
    const end = arr.lastIndexOf(2);
  
    return start === -1 ? [-1] : arr.slice(start, end + 1);
profile
해내는 사람

0개의 댓글