문제 풀이 (JAVA)

import java.util.*;
class Solution {
    public int[] solution(int[] numbers) {
        List<Integer> answer = new ArrayList<Integer>(); // 숫자를 저장할 리스트 선언
        int sum=0; // 두개의 숫자 합을 저장할 변수 선언
        for (int i=0; i<numbers.length; i++){ // 첫번째 변수부터
            for( int j=0; j<numbers.length; j++){  // 다음 숫자 배열 변수끼리 순차적 검색
               if(i != j){ // 같은 숫자 배열이 아닐 경우
                   sum = numbers[i]+numbers[j]; // 두 개의 숫자 배열 합 저장
                   if(answer.contains(sum) != true){ // 리스트에 해당 숫자가 존재하지 않는다면
                       answer.add(sum); // 리스트에 저장
                   }
               }
            }
        }
        Collections.sort(answer); // 리스트 오름차순 정렬
        int k=0;
        int [] result= new int[answer.size()]; // 결과를 출력할 배열 변수 선언
        for(int temp : answer){
            result[k++]= temp; // 리스트에 저장된 변수를 숫자 배열에 옮긴다.
        }
        return result;
    }
}

주요 핵심 포인트

0. 첫번째 숫자부터 순차적으로 검색하여 합을 계산하였다.

1. List의 contains 함수를 사용하여 중복 값이 존재하지 않을 경우 리스트에 저장하였다.

2. List의 Collections.sort 함수를 사용하여 리스트를 오름차순으로 정렬하였다.

3. 정렬된 리스트의 값을 배열로 옮겨 담아 출력하였다.

'프로그래머스(JAVA)' 카테고리의 다른 글

3진법 뒤집기  (0) 2022.05.21
예산  (0) 2022.05.21
2016년  (0) 2022.05.21
최소직사각형  (0) 2022.04.24
나머지가 1이 되는 수 찾기  (0) 2022.04.24

+ Recent posts