[プログラマー][java]2つ引いて加算


質問リンク-https://programmers.co.kr/learn/courses/30/lessons/68644
  • ソリューション
    これは,
  • で与えられた配列の2つの数を加算し,昇順に並べた結果の問題である.
    まず、各数を加算すると重複する可能性があるため、許可されません.
    資料構造Setの使用を決定します.
  • 配列から2つの数を選択し、加算してセットに入れます.
  • ストリームを使用して
  • Setをソートし、アレイに戻ります.
  • import java.util.*;
    
    class Solution {
        public int[] solution(int[] numbers) {
            HashSet<Integer> set = new HashSet();
            
            for(int i=0;i<numbers.length-1;i++){
                for(int j=i+1;j<numbers.length;j++){
                    set.add(numbers[i]+numbers[j]); // 합한 수를 set에 저장
                }
            }
    
            return set.stream().sorted().mapToInt(Integer::intValue)
            .toArray(); //stream으로 정렬 후 array로 반환
            
        }
    }