반응형
🔺 문제
🔺 코드
import java.util.*;
class Solution {
public int[] solution(int[] numbers) {
int len = numbers.length;
Set<Integer> set = new HashSet<>();
for(int i=0 ; i < len ; i++) {
for(int j=i+1; j < len ; j++) {
set.add(numbers[i] + numbers[j]);
}
}
return set.stream().sorted().mapToInt(i->i).toArray();
}
}
HashSet을 이용하였다.
HashSet은 중복을 허용하지 않는다.
✔ .sorted()
: 스트림 정렬
🔺 다른 풀이들
import java.util.*;
class Solution {
public int[] solution(int[] numbers) {
int[] answer;
List<Integer> list = new ArrayList<Integer>();
for(int i = 0 ; i < numbers.length; i++){
for(int j = i+1 ; j < numbers.length; j++){
int tmp = numbers[i] + numbers[j];
if(!list.contains(tmp)){
list.add(tmp);
}
}
}
int size = 0;
answer = new int[list.size()];
for(int num : list){
answer[size++] = num;
}
Arrays.sort(answer);
return answer;
}
}
ArrayList를 사용하셨다.
리스트 안에 값을 갖고 있지 않을 때, 리스트에 값을 넣는 것으로...
(참고)
반응형
'코테 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/Lv. 1] 3진법 뒤집기 (0) | 2023.03.07 |
---|---|
[프로그래머스/Lv. 1] 모의고사 (0) | 2023.03.06 |
[프로그래머스/Lv. 1] 문자열 내 마음대로 정렬하기 (0) | 2023.03.06 |
[프로그래머스/Lv. 1] 숫자 문자열과 영단어 (0) | 2023.03.06 |
[프로그래머스/Level1] 이상한 문자 만들기 (0) | 2023.03.04 |