본문 바로가기

코딩 문제/프로그래머스

프로그래머스 - 코딩테스트 - Level1 - 두 개 뽑아서 더하기

728x90

 

풀이

 

import java.util.ArrayList;

import java.util.Arrays;

 

class Solution {

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

            int[] answer = {};

            int check = 0; // 중복 체크 변수

            ArrayList<Integer> arr = new ArrayList<Integer>(); // 두 수의 합을 저장할 list

 

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

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

                        check = 0;

                        int num = numbers[i] + numbers[j];

                        for(int k=0; k<arr.size(); k++){ // 해당 합이 이미 list에 있을 경우

                              if(num == arr.get(k)){

                                    check = 1;

                              }

                        }

                        if(check == 0){ // 중복 체크 변수가 0일 때

                              arr.add(num);

                        }

                  }

            }

            // answer 배열 초기화

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

            // answer 배열에 값 할당

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

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

            }

            // answer 배열 정렬

            Arrays.sort(answer);

 

            return answer;

      }

}

 

결과