Coding Test

[Coding Test] 프로그래머스 1단계 - 두 개 뽑아서 더하기

한비Skyla 2024. 7. 30. 16:28

📚 문제

 

 

🔎 문제해결

문제해결 시간 : 40분

 

import java.util.*;

class Solution {
    public int[] solution(int[] numbers) {
        // 결과값을 담을 배열 선언.
        ArrayList<Integer> result = new ArrayList<>();
        // num 을 sort 를 해 주어야 함.
        Arrays.sort(numbers);

        // 순회를 하면서 값을 더함.
        // i < 0 부터, num.length 만큼  num 배열의 요소를 돌면서
        for (int i = 0; i < numbers.length ; i ++) {
            // i + 1  부터 num.length 만큼의 num 배열의 요소를 더함.
            for (int j = i + 1 ; j <numbers.length; j ++) {
                // 더한 값을 배열에 저장.
                // 이때 배열에 저장한 값이랑 비교를 해야함.
                Integer currentNum = numbers[i] + numbers[j];
                // contains 를 사용해서, 포함하고 있는지 아닌지 확인 후 
                if(!result.contains(currentNum)) {
                    // result 에 그 값을 넣기. 
                    result.add(currentNum);
                }
            }
        }
        // 결과값 arraylist 를 정렬하고, 배열로 return하기 
        return result.stream()
                     .sorted()
                     .mapToInt(Integer::intValue).toArray();

    }
}