Set<Integer> set = new HashSet<>();
for (int i = 0; i < numbers.length; i++){
for (int j = i+1; j < numbers.length; j++) {
set.add(numbers[i] + numbers[j]);
}
}
두 개의 수를 뽑아야하므로 이중 for문 사용
두 수를 더한 값을 set에 추가
Integer[] re = set.toArray(new Integer[0]);
set 객체의 toArray()
를 사용하여 set 객체를 배열로 변환
파라미터로는 변환될 배열 객체를 넘겨줌
배열 크기를 0으로 지정하면 자동으로 배열의 크기가 지정됨
int [] answer = Arrays.stream(re).sorted().mapToInt(i->i).toArray();
return answer;
stream api를 이용하여 Set의 데이터를 정렬하고 int형 배열로 return
()
로 정렬 후 mapToInt()
로 int 배열로 변환시킴import java.util.Arrays; import java.util.HashSet; import java.util.Set; class Solution { public int[] solution(int[] numbers) { Set<Integer> set = new HashSet<>(); for (int i = 0; i < numbers.length; i++){ for (int j = i+1; j < numbers.length; j++) { set.add(numbers[i] + numbers[j]); } } Integer[] re = set.toArray(new Integer[0]); int [] answer = Arrays.stream(re).sorted().mapToInt(i->i).toArray(); //i -> i => Integer -> intValue return answer; } }