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

작성자 : 조회수 :


소요시간 : 20

 

 

간단한 문제를 풀고 싶어서 선택했습니다.

 

아이디어는 중간 코드의 주석에 달아 놓았습니다.

 

 

package Question;

import java.util.ArrayList;

import java.util.Collections;

/**

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

 * https://school.programmers.co.kr/learn/courses/30/lessons/68644

 *

 * 아이디어

 *

 * 1. 제한사항은 numbers 최대 길이가 100이다. 효율성은 필요없다는 의미

 * 2. 수도 마찬가지 간단하게 경의 수로 구하면 된다.

 * 3. 2 포문으로 돌려서 더한 값들을 모드 배열에 저장하자

 * 4. 그걸 내부 함수로 정렬을 하도록 하자

 * */

public class TwoChoiceAndPlus {

    public static void main(String[] args) {

    }

    public static int[] solution(int[] numbers) {

        ArrayList<Integer> list = new ArrayList<>();

        for (int i = 0; i < numbers.length; i++) {

            for (int j = 1; j < numbers.length; j++) {

                if (!list.contains(numbers[i] + numbers[j]) && i != j) {

                    list.add(numbers[i] + numbers[j]);

                }

            }

        }

        // 정렬

        Collections.sort(list);

        int[] answer = new int[list.size()];

        for (int i = 0; i < list.size(); i++) {

            answer[i] = list.get(i);

        }

        return answer;

    }

}

 

 

별다른 알고리즘은 사용하지 않고 단순 이중 for문으로 풀었습니다