프로그래머스 - 두 개 뽑아서 더하기

JJJ·2023년 5월 31일
0
post-custom-banner


풀이

import java.util.*;
class Solution {
    public int[] solution(int[] numbers) {
        HashSet<Integer> set=new HashSet<>();
        
        for(int i=0; i<numbers.length; i++){
            for(int j=i+1; j<numbers.length; j++){
                set.add(numbers[i]+numbers[j]);
            }
        }
        ArrayList<Integer> list=new ArrayList<>(set);
        Collections.sort(list);
        
        int[] answer=new int[list.size()];
        for(int i=0; i<list.size(); i++){
            answer[i]=list.get(i);
        }
        
        return answer;
    }
}


//Set<Integer> set=new TreeSet<>(): //중복값x 순서정렬o

풀이방법
1) HashSet을 사용하면 중복값을 갖지 않고 배열을 만들 수 있다.
2) 오름차순으로 정렬(sort)하기위해 HashSet을 List타입으로 변경
3) answer[]에 List를 대입하여 반환

) HashSet대신 TreeSet을 사용하면 중복값을 갖지 않으면서 오름차순 정렬된 배열을 얻을 수 있다.

profile
Think Talk Act
post-custom-banner

0개의 댓글