1. 문제
2. 코드
2-1. 첫번째 코드
class Solution {
fun solution(numbers: IntArray): IntArray {
val result: MutableList<Int> = mutableListOf()
numbers.indices.forEach { i ->
numbers.indices.forEach { j ->
if (i != j) {
result.add(numbers[i] + numbers[j])
}
}
}
return result.distinct().sorted().toIntArray()
}
}
- numbers의 indices로 인덱스 참고
- 이중 for문에 i != j 일때 더해서 저장
- distinct로 중복제거, sorted로 정렬
2-2. 두번째 코드
class Solution {
fun solution(numbers: IntArray): IntArray {
// 각 숫자 쌍의 합을 저장할 리스트 생성
return numbers.indices.flatMap { i ->
// numbers 배열의 인덱스를 반복
numbers.indices
// 현재 인덱스와 같지 않은 인덱스만 필터링
.filter { j -> i != j }
// 현재 숫자와 다른 숫자의 합을 계산하여 리스트에 추가
.map { j -> numbers[i] + numbers[j] }
}
// 중복된 합 제거 후 정렬하여 IntArray로 변환하여 반환
.distinct().sorted().toIntArray()
}
}
- 한 줄로 해결!