class Solution {
public Set<Integer> solution(int[] arr) {
Set<Integer> set = new TreeSet<>();
for (int i =0 ; i < arr.length ; i++){
for (int j = 0; j < arr.length; j++) {
if(i == j) {
continue;
}
set.add(arr[i] + arr[j]);
}
}
return set;
}
}
Set<Integer> set = new TreeSet<>();
-Set-
저장 순서가 유지되지 않는다.
반복문과 인덱스를 통하여 Set의 탐색이 불가능해 Iterator를 사용해야한다.
객체의 중복을 자동으로 제거해준다.
-TreeSet-
이진 탐색트리 형태로 데이터를 저장하며
데이터의 추가 , 삭제는 다른 Set Collection에 비해 오래걸리지만
검색과 정렬이 다른 Set에 비해 뛰어나다.
오름차순으로 자동 정렬해준다.
인덱스가 같은 경우에는 continue로
Set객체에 할당하지 않고 반복을 진행하게하고.
인덱스가 같은 경우에 set에 할당하게 되면
인덱스 값 + 나머지 값만 할당하는게 아닌
인덱스 값 + 인덱스 값 까지 할당함으로 문제의 요구사항에서 벗어난다.
만들어둔 treeSet객체에 add함으로써 자동으로 중복이 제거된 오름차순 정렬 set이 완성된다.
'Plo Algorithm' 카테고리의 다른 글
프로그래머스 Lv1 로또의 최고 순위와 최저 순위 (0) | 2022.03.17 |
---|---|
프로그래머스Lv1 같은 숫자는 싫어 (0) | 2022.03.17 |
프로그래머스 Lv1 최소 직사각형 (0) | 2022.03.16 |
프로그래머스 Lv1 하샤드 수 (0) | 2022.03.16 |
프로그래머스 Lv1 콜라츠 추측 (0) | 2022.03.16 |