본문 바로가기
프로그래밍/algorithm

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

by leestun 2020. 11. 8.
반응형

 

for문을 돌면서 인덱스를 각각 더해주고 중복값을 막기 위해 list에 합을 저장한다. list에 담긴 값을 배열에 저장하고 arrays.sort()를 이용해 정렬한뒤 반환한다.

 

import java.util.*;

class Solution {
    public int[] solution(int[] numbers) {
        int[] answer = {};
        List<Integer> arr = new ArrayList<Integer>(); //두 수를 더한 값을 저장하는 리스트 생성
        
        for(int i = 0; i<numbers.length-1;i++) {	// 중복되지 않게 두 수를 뽑아서 
            for(int j = i+1; j<numbers.length; j++) {
                if(!arr.contains(numbers[i]+numbers[j])) {	//배열에 포함되어 있지 않다면
                    arr.add(numbers[i]+numbers[j]);	//두 수를 더해 리스트에 추가한다.
                }
            }
        }
        
       
       answer = new int [arr.size()];	//answer 배열에 리스트의 사이즈만큼 초기화한다.
        for(int i = 0; i<answer.length; i++){ //answer의 크기만큼 반복한다.
            answer[i] = arr.get(i);	//리스트의 요소를 answer 인덱스에 넣는다.
        }
        
         Arrays.sort(answer);	//answer 배열을 오름차순으로 정렬한다.
        return answer;
    }
}
반응형

'프로그래밍 > algorithm' 카테고리의 다른 글

<프로그래머스> 문자열을 정수로 바꾸기  (0) 2020.11.10
<프로그래머스> 체육복  (0) 2020.11.09
<프로그래머스> 같은 숫자는 싫어  (0) 2020.11.08
1931번 : 회의실  (0) 2020.11.08
11047번 : 동전 0  (0) 2020.11.08