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

Joo Yeong Park·2020년 10월 16일
0

algorithm

목록 보기
1/7

프로그래머스 두 개 뽑아서 더하기문제를 풀면서 자주 쓰일법한 set->array 함수를 만들어놓았다.

문제 설명

import java.util.*;

class Solution {
    public int[] solution(int[] numbers) {
                
        Set<Integer> s = new HashSet<Integer>();
        for(int i = 0; i<numbers.length; i++){
            for(int j = i+1; j<numbers.length; j++){
                s.add(numbers[i]+numbers[j]);
            }
        }
          
        int[] answer = setToArray(s);
        Arrays.sort(answer);
        return answer;
    }
    
    public int[] setToArray(Set<Integer> set){
        int[] a = new int[set.size()];
        int i = 0;
        for(Integer val: set)
            a[i++] = val;
        return a;
    }   
}

이중 for문을 돌면서 두 수의 합을 set에 add한다.
set을 쓰는 이유는 중복을 허용하지 않는 자료구조이기 때문!

return값은 int형 배열이어야하기 때문에 setToArray()를 이용해 set을 배열로 만들어준 다음, Array.sort()해주면 되는 문제다.

profile
웹 개발자를 꿈꾸는 삐약

0개의 댓글