두 개 뽑아서 더하기 Lv. 1

박영준·2023년 6월 19일
0

코딩테스트

목록 보기
259/300
class Solution {
    public int[] solution(int[] numbers) {
        int[] answer = {};
        return answer;
    }
}

해결법

방법 1

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);
    
        int[] answer = new int[list.size()];
    
        for(int i = 0; i < answer.length; i++) {
            answer[i] = list.get(i);
        }
    
        Arrays.sort(answer);      

        return answer;
    }
}

방법 2

import java.util.*;

class Solution {
    public int[] solution(int[] numbers) {
        
        List<Integer> list = new ArrayList<>();
        
        for (int i = 0; i < numbers.length; i++) {
            int sum = 0;
            
            for (int j = i+1; j < numbers.length; j++) {
                sum = numbers[i] + numbers[j];
                    
                if (!list.contains(sum)) {		// 중복된 숫자 합을 방지
                    list.add(sum);
                }
            }
        }
        
        int[] answer = new int[list.size()];

        for (int i = 0; i < answer.length; i++) {
            answer[i] = list.get(i);
        }
        
        Arrays.sort(answer);
        
        return answer;
    }
}
  • ArrayList 로 푸는 방법

  • 중복된 숫자 합을 방지


두 개 뽑아서 더하기 Lv. 1

profile
개발자로 거듭나기!

0개의 댓글