728x90
▶ 문제
▶ 풀이방법
- 중복 제거해 값 저장하는 hashset사용
import java.util.*;
class Solution {
public int[] solution(int[] numbers) {
int [] answer = {};
HashSet<Integer> hs = new HashSet<>(); //값 중복없이 저장됨.
for(int i = 0; i < numbers.length-1; i++) {
for(int j = i+1; j <numbers.length; j++) {
hs.add(numbers[i] + numbers[j]);
}
}
//ArrayList사용해 hashset에 저장된 값 꺼내 answer배열에 저장.
/*ArrayList<Integer> list = new ArrayList<>(hs);
answer = new int[hs.size()];
for(int i = 0; i < list.size(); i++){
answer[i] = list.get(i);
}*/
//반복자 Iterator사용해 hashSet값 꺼내서 answer에 저장
Iterator<Integer> is = hs.iterator();
int index = 0;
answer = new int[hs.size()];
while(is.hasNext()) {
answer[index] = is.next();
index++;
}
Arrays.sort(answer); //배열 오름차순 정렬
return answer;
}
}
728x90
'Algorithm > PROGRAMMERS[Java]' 카테고리의 다른 글
Lv1. 3진법 뒤집기 (0) | 2022.04.17 |
---|---|
Lv1. 예산 (0) | 2022.04.17 |
Lv1. 2016년 (0) | 2022.04.17 |
Lv1. 최소직사각형 (0) | 2022.04.17 |
Lv1. 나머지가 1이 되는 수 찾기 (0) | 2022.04.17 |