2의 영역

민태영·2023년 6월 17일
0

문제) 정수 배열 arr가 주어집니다. 배열 안의 2가 모두 포함된 가장 작은 연속된 부분 배열을 return 하는 solution 함수를 완성해 주세요. 단, arr에 2가 없는 경우 [-1]을 return 합니다.

나의 풀이

  1. towIdx에 arr배열에 있는 2의 원소를 앞에서 부터 찾아 index값을 저장한다

  2. lastIdx에 arr배열에 있는 2의 원소를 뒤에서 부터 찾아 index값을 저장한다.

  3. 만약 arr에 2가 없다면 -1값이 들어있으므로 if으로 판단하고 anwer에 -1을 넣어 리턴한다.

  4. 있으면 arr배열에서 towIdx부터 lastIdx포함한 원소를 slice로 잘라 answer에 저장하여 리턴한다.

function solution(arr) {
    var answer = [];
    
    const towIdx = arr.indexOf(2)
    const lastIdx = arr.lastIndexOf(2)
    
    if(towIdx === -1) {
        answer.push(-1)
        return answer 
    }
    
    answer = arr.slice(towIdx, lastIdx +1)

    return answer;
}
profile
꿈을 꾸는 개발자

0개의 댓글