문제 생각해보기
- 직사각형의 가로 세로라는 틀에 굳이 갇혀있을 필요없이 숫자 쌍으로 판별할 수 없나?
- 각 명함의 긴쪽과 짧은쪽을 구분지어서 배열에 저장
- 두개의 배열의 최댓값을 곱하면 될거같은데..?
풀이 코드
class Solution {
fun solution(sizes: Array<IntArray>): Int {
var answer: Int = 0
var max = ArrayList<Int>()
var min = ArrayList<Int>()
for (i in sizes) {
if(i[0] <= i[1]) {
max.add(i[1])
min.add(i[0])
} else {
max.add(i[0])
min.add(i[1])
}
}
answer = max.maxOf{it} * min.maxOf{it}
return answer
}
}
!! max배열의 max()를 프로그래머스에서 사용이 되지가 않아서 maxOf{}함수를 통해서 각 배열의 최댓값을 구했다.
'Algorithm' 카테고리의 다른 글
[알고리즘] 정렬에 대하여.. (0) | 2023.12.14 |
---|---|
[프로그래머스] 명예의 전당 (1) - Kotlin (0) | 2023.12.12 |
[프로그래머스] 문자열 내 마음대로 정렬하기 - Kotlin (1) | 2023.12.07 |
[프로그래머스] 숫자 문자열과 영단어 - Kotlin (1) | 2023.12.06 |
[프로그래머스] 자릿수 더하기 - Kotlin (0) | 2023.11.27 |