❓문제
정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.
제한사항
- 0≤ numbers의 원소 ≤ 10,000
- 2≤ numbers의 길이 ≤ 100
📎 예시
✍🏻 풀이 설명 및 최종 풀이
- 코틀린 함수 중 sortDescending()을 이용해서 내림차순으로 정렬해주었다.
- 그리고 가장 큰 두 수의 곱이 가장 크기 때문에, 배열의 첫번째 값과 두번째 값을 곱해주었다.
fun solution(numbers : IntArray) : Int {
numbers.sortDescending()
return numbers[0] * numbers[1]
}
✍🏻 다른 사람의 풀이
fun solution1(numbers: IntArray): Int = numbers.sorted().let { it[it.size - 1] * it[it.size - 2] }
fun solution2(numbers: IntArray): Int = numbers.sorted().takeLast(2).fold(1) {i, acc -> acc * i}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 아이스 아메리카노 JAVA Kotlin (0) | 2023.11.01 |
---|---|
[프로그래머스] 문자열 뒤집기 JAVA Kotlin (0) | 2023.10.31 |
[프로그래머스] 삼각 달팽이 JAVA (1) | 2023.10.24 |
[프로그래머스] 짝수의 합 Kotlin (0) | 2023.10.23 |
[프로그래머스] 17683. 방금 그곡 JAVA (0) | 2023.08.24 |
댓글