728x90
힌트
- 정렬과 필터링
- 먼저 arr.sorted()를 통해 배열을 오름차순으로 정렬한 후, filter 함수를 사용하여 divisor로 나누어 떨어지는 요소만 필터링합니다.
- filter { it % divisor == 0 }는 각 요소에 대해 나머지가 0인 경우만 남깁니다.
- 빈 배열 처리
- 필터링된 결과 배열 result의 크기가 0일 경우, 즉 조건을 만족하는 요소가 없을 때는 IntArray(1) { -1 }를 반환하여 -1을 값으로 가지는 배열을 반환합니다.
- 이는 문제의 조건을 만족하지 않는 경우에 대비한 예외 처리입니다.
- 정렬된 결과 반환
- 필터링된 결과가 있을 경우, 정렬된 상태에서 결과를 반환하므로 배열의 요소는 항상 오름차순으로 출력됩니다.
정답은 더보기 클릭
더보기
class Solution {
fun solution(arr: IntArray, divisor: Int): IntArray {
// 주어진 배열(arr)을 정렬한 후, divisor로 나누어 떨어지는 값들만 필터링하여 배열로 변환합니다.
var result = arr.sorted().filter {it % divisor == 0} .toIntArray()
// 필터링된 결과가 없다면, 배열에 -1을 담아 반환합니다.
if (result.size == 0)
return IntArray(1) {-1}
// 필터링된 결과가 있다면 해당 배열을 반환합니다.
return result
}
}
728x90
'프로그래머스(Kotlin) > Level 1' 카테고리의 다른 글
[프로그래머스 (Kotlin)] 없는 숫자 더하기 (7) | 2024.10.03 |
---|---|
[프로그래머스 (Kotlin)] 음양 더하기 (1) | 2024.10.03 |
[프로그래머스 (Kotlin)] 콜라츠 추측 (0) | 2024.10.02 |
[프로그래머스 (Kotlin)] 서울에서 김서방 찾기 (1) | 2024.10.02 |
[프로그래머스 (Kotlin)] 자릿수 더하기 (0) | 2024.10.02 |