관리 메뉴

나만을 위한 블로그

[Algorithm] 프로그래머스 - 2의 영역 (Kotlin) 본문

알고리즘 문제 풀이/프로그래머스

[Algorithm] 프로그래머스 - 2의 영역 (Kotlin)

참깨빵위에참깨빵 2024. 3. 24. 19:52
728x90
반응형
정수 배열 arr이 주어진다. 배열 안의 2가 모두 포함된 가장 작은 연속된 부분 배열을 리턴하는 함수를 완성하라. arr에 2가 없으면 -1을 리턴한다

 

 

2가 있는 첫 인덱스, 마지막 인덱스를 구하고 첫 2부터 마지막 2까지의 숫자들을 리턴하도록 작성해서 풀었다.

 

class Solution {
    fun solution(arr: IntArray): IntArray {
        val first = arr.indexOfFirst { it == 2 }
        val last = arr.indexOfLast { it == 2 }
        return if (first != -1 && last != -1) {
            if (arr.slice(first..last).isEmpty()) {
                intArrayOf(-1)
            } else {
                arr.slice(first .. last).toIntArray()
            }
        } else {
            intArrayOf(-1)
        }
    }
}
반응형
Comments