관리 메뉴

나만을 위한 블로그

[Algorithm] 프로그래머스 - 배열 만들기 5 (Kotlin) 본문

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

[Algorithm] 프로그래머스 - 배열 만들기 5 (Kotlin)

참깨빵위에참깨빵_ 2023. 12. 31. 21:38
728x90
반응형
문자열 배열 intStrs와 정수 k, s, l이 주어진다. intStrs의 원소는 숫자로 이뤄져 있다. intStrs의 원소마다 s번 인덱스에서 시작하는 길이 l짜리 부분 문자열을 잘라 정수로 바꾼다. 이 때 변환한 정수값이 k보다 큰 값들을 담은 배열을 리턴하는 함수를 완성하라

 

 

주먹구구식으로 풀면 아래와 같다.

 

class Solution {
    fun solution(arr: Array<String>, k: Int, s: Int, l: Int): IntArray {
        val result = mutableListOf<Int>()
        for (i in arr.indices) {
            if (arr[i].substring(s, s + l).toInt() > k) {
                result.add(arr[i].substring(s, s + l).toInt())
            }
        }

        return result.toIntArray()
    }
}

 

map, filter를 활용해서 간결하게 만들면 아래와 같다.

 

class Solution {
    fun solution(arr: Array<String>, k: Int, s: Int, l: Int): List<Int> =
        arr.map { it.substring(s, s + l).toInt() }.filter { it > k }
}

 

반응형
Comments