문제 설명
정수 배열 arr가 주어집니다. 배열 안의 2가 모두 포함된 가장 작은 연속된 부분 배열을 return 하는 solution 함수를 완성해 주세요.
단, arr에 2가 없는 경우 [-1]을 return 합니다.
제한사항
- 1 ≤ arr의 길이 ≤ 100,000
- 1 ≤ arr의 원소 ≤ 10
입출력 예
arr | result |
[1, 2, 1, 4, 5, 2, 9] | [2, 1, 4, 5, 2] |
[1, 2, 1] | [2] |
[1, 1, 1] | [-1] |
[1, 2, 1, 2, 1, 10, 2, 1] | [2, 1, 2, 1, 10, 2] |
나의 풀이
function solution(arr) {
if(!arr.includes(2)) return [-1]
const first = arr.indexOf(2)
const last = arr.lastIndexOf(2)
return arr.filter((num, i)=> {
if(first<=i && i<=last){
return num
}
})
}
'코딩 테스트 풀이 🛠' 카테고리의 다른 글
[프로그래머스] 문자열 묶기 (0) | 2023.09.07 |
---|---|
[프로그래머스] 리스트 자르기 (0) | 2023.09.06 |
[프로그래머스] 수열과 구간 쿼리 4 (0) | 2023.09.04 |
[프로그래머스] 세 개의 구분자 (0) | 2023.09.02 |
[프로그래머스] 문자열이 몇 번 등장하는지 세기 (0) | 2023.08.31 |