매일 Algorithm

신재원·2023년 1월 20일
0

Algorithm

목록 보기
12/243

프로그래머스 : 두개 뽑아서 더하기 (LEVEL 1)

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

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

        List<Integer> result = new ArrayList<>();

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

            // i+1 인덱스 부터 시작함으로써 i가 증가할때
            // i보다 작은 index에서 부터 시작 할 필요가 없음으로, 
            // i+1 인덱스 부터 조건을 건다.
            
            for (int j = i + 1; j < numbers.length; j++) {
                int sum = numbers[i] + numbers[j];
                
                //ArrayList의 indexOf 메소드의 기능은
                // 넘어온 인자값과 동일한 데이터가 있다면 그 인덱스 값을 반환해준다,
                // 없으면 -1를 리턴합니다.
                // 따라서, 위 코드는 중복된 값이 없애기 위해 구현
                
                if (result.indexOf(sum) < 0) {
                    result.add(sum);
                }

            }
        }
        int[] answer = new int[result.size()];
        for (int i = 0; i < answer.length; i++) {
            answer[i] = result.get(i);
        }
        Arrays.sort(answer);
        return answer;
    }
}

0개의 댓글