정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.
두개의 수를 뽑아 만들 수 있는 값들을 모두 리스트에 담고 set을 이용하여 중복을 제거한다.
List 요소에서 중복 제거하는 방법
Set은 List와 달리 순서를 유지하지 않고, 데이터의 중복을 허용하지 않는다.
import java.util.*;
class Solution {
public ArrayList solution(int[] numbers) {
ArrayList<Integer> answer1 = new ArrayList<>();
for(int i=0; i<numbers.length-1; i++){
for(int j=i+1; j<numbers.length; j++){
answer1.add(numbers[i]+numbers[j]);
}
}
TreeSet<Integer> ts = new TreeSet<>(answer1);
ArrayList<Integer> answer = new ArrayList<>(ts);
return answer;
}
}
안녕하세요. 코드 참고하다가 질문드립니다 :)
첫번째 for문(i사용) 에서 size 범위를 length-1 로 하신 이유가 있을까요? 제가 생각하기엔 for문 둘 다 length 미만이라고 생각되는데 -1하신 이유가 궁금합니다!