달달한 스토리

728x90
반응형

출처 핀터레스트

 

일이 많아.. 문제를 많이 풀지 못해지고 있다.

 

한 문제씩이라도 풀어보자.

 

최소 직사각형

 

//최소직사각형
class MinimumRectangle {
    fun solution(sizes: Array<IntArray>): Int {
        val sorted = sizes.map { it.sorted() }
        return (sorted.map { it[0] }.maxOrNull() ?: 0) * (sorted.map { it[1] }.maxOrNull() ?: 0)
    }
}

 

2차원 배열을 받는 문제인데

 

먼저 받은 배열 안에 int 배열들을 정렬시켜준다.

 

문제 자체가 제일 넉넉한 지갑을 최소 사이즈로 만드는 것인데,

 

만약 세로 사이즈가 가로사이즈보다 크다면, 뒤집어서 사용이 가능하다고

 

하기 때문에, 위에 조건대로라면, 각 int 배열들을 정렬해주고 문제를 풀어준다.

 

그리고 정렬한 배열을 대시 map 메서드로 나누어주어,

 

첫 번째 인덱스 중에서 최댓값과 두 번째 인덱스에서 최댓값을 곱한 값으로

 

반환해준다.

728x90
반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading