카테고리 없음

[프로그래머스] 두 개 뽑아서 더하기 - JAVA 풀이

sppl24 2024. 10. 13. 01:18
반응형

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

문제 설명

정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.


제한사항

  • numbers의 길이는 2 이상 100 이하입니다.
  • numbers의 모든 수는 0 이상 100 이하입니다.

입출력 예


아이디어

  • 2중 루프 돌려서 중복 없이 리스트에 추가한다
    • (indexOf로 중복 체크 했지만 HashSet으로도 처리 가능)
  • 오름차순 정리

JAVA 풀이

import java.util.*;
class Solution {
    public List<Integer> solution(int[] n) {
        List<Integer> tmp = new ArrayList<>();
        for (int i = 0; i < n.length; i++) {
            for (int j = 0; j < n.length; j++) {
                int sum = n[i] + n[j];
                if (i != j) {
                    if (tmp.indexOf(sum) == -1) {
                        tmp.add(sum);
                    }
                }
            }
        }
        Collections.sort(tmp);
        List<Integer> answer = new ArrayList<>();
        answer.add(tmp.get(0));
        for (int i = 1; i < tmp.size(); i++) {
            if (tmp.get(i - 1) != tmp.get(i)) {
                answer.add(tmp.get(i));
            }
        }
        return answer;
    }
}
반응형