달달한 스토리

728x90
반응형

출처 핀터레스트

 

오늘은 두 문제를 풀어보았다.

 

첫 번째 문제를 보자.

 

문자열 내 마음대로 정렬하기

 

//문자열 내 마음대로 정렬하기
class SortingStringsMyOwnWay {
    fun solution(strings: Array<String>, n: Int): Array<String> =
        strings.sortedWith(
            compareBy(
                { it[n] },
                { it }
            )
        ).toTypedArray()
}

처음으로 두 개의 조건식으로 정렬할 수 있는

 

sortedWith와 compareBy 메서드를 써보았다.

 

처음에는 strings로 받은 문자열 배열에서

 

문자열에 n번째 숫자의 따라 정렬을 해주고,

 

만약 같은 숫자가 나타날 때는

 

원래 사전대로 정렬을 위해

 

기본값인 it을 써주어 정렬하고,

 

마지막에 이 list를 StringType의 배열로 변환해주어 반환하였다.

 

 

K번째수

 

//K번째수
class KthNumber {
    fun solution(array: IntArray, commands: Array<IntArray>): IntArray =
        commands.map { intArray ->
            array.sliceArray((intArray[0] - 1) until (intArray[1])).sorted()[intArray[2] - 1]
        }.toIntArray()
}

sliceArray 메서드를 활용하여 원하는 배열만 가져와서,

 

정렬한 후 원하는 문자열만 가져와서 IntArray로 변환하여 반환했다.

728x90
반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading