-
[자바(JAVA)] 두 개 뽑아서 더하기 / HashSet, TreeSet프로그래머스/자바(JAVA) 2023. 8. 28. 09:44728x90
✅ 내 풀이
import java.util.HashSet; import java.util.Set; import java.util.Collections; import java.util.List; import java.util.ArrayList; class Solution { public int[] solution(int[] numbers) { Set<Integer> answer = new HashSet<>(); for(int i = 0; i < numbers.length; i++) { for(int j = i + 1; j < numbers.length; j++) { answer.add(numbers[i] + numbers[j]); } } List<Integer> sortedList = new ArrayList<>(answer); Collections.sort(sortedList); int[] result = new int[sortedList.size()]; for(int i = 0; i < sortedList.size(); i++) { result[i] = sortedList.get(i); } return result; } }
다른풀이에서 TreeSet을 사용하면 정렬까지 바로 된다고 해서 다시 리팩토링을 해봤다.
✅ 리팩토링
import java.util.*; class Solution { public int[] solution(int[] numbers) { TreeSet<Integer> answer = new TreeSet<>(); for (int i = 0; i < numbers.length; i++) { for (int j = i + 1; j < numbers.length; j++) { answer.add(numbers[i] + numbers[j]); } } int[] result = new int[answer.size()]; int index = 0; for (int num : answer) { result[index++] = num; } return result; } }
728x90'프로그래머스 > 자바(JAVA)' 카테고리의 다른 글
[자바(JAVA)] 크기가 작은 부분문자열- 런타임오류 (0) 2023.08.21 [자바(JAVA)] 문자열로 변환/ valueOf()와 perse()의 공통점과 차이점 (0) 2023.08.21 [자바(JAVA)] 정수 내림차순으로 배치하기. PriorityQueue<Long> (0) 2023.08.18 [자바(JAVA)] 문자열 뒤집기, StringBuilder, setCharAt(index, newChar) (0) 2023.08.16 [자바(JAVA)] 수열과 구간 쿼리 3 / ArrayList<>(), Collections.swap() (0) 2023.08.15