TreeSet을 적절하게 사용할 줄 아는가?
1. 초기 버전 코드
다른 사람들 코드 훔쳐보는데 TreeSet 사용하면 정렬도 같이 된다는 말에 아맞다! 그게있었지! 했다. 그래서 코드를 리팩토링 해보았다.
import java.util.*;
import java.util.stream.*;
class Solution {
public int[] solution(int[] numbers) {
Set<Integer> set = new HashSet<>();
for(int i = 0; i< numbers.length - 1; i++){
for(int j = i + 1; j < numbers.length ;j++){
set.add(numbers[i] + numbers[j]);
}
}
List<Integer> list = new ArrayList<>(set);
Collections.sort(list);
return list.stream().mapToInt(i -> i).toArray();
}
}
2. 두 번째 코드
import java.util.*;
import java.util.stream.*;
class Solution {
public int[] solution(int[] numbers) {
Set<Integer> set = new TreeSet<>();
for(int i = 0; i< numbers.length - 1; i++){
for(int j = i + 1; j < numbers.length ;j++){
set.add(numbers[i] + numbers[j]);
}
}
return set.stream().mapToInt(i -> i).toArray();
}
}
https://school.programmers.co.kr/learn/courses/30/lessons/68644
'코딩테스트 > Programmers' 카테고리의 다른 글
[프로그래머스] 푸드 파이트 대회 (0) | 2025.02.28 |
---|---|
[프로그래머스] 숫자 문자열과 영단어 (0) | 2025.02.28 |
[프로그래머스] 가장 가까운 같은 글자 (0) | 2025.02.26 |
[프로그래머스] 시저 암호 (0) | 2025.02.26 |
[프로그래머스] 이상한 문자 만들기 (0) | 2025.02.26 |