반응형
for문을 돌면서 인덱스를 각각 더해주고 중복값을 막기 위해 list에 합을 저장한다. list에 담긴 값을 배열에 저장하고 arrays.sort()를 이용해 정렬한뒤 반환한다.
import java.util.*;
class Solution {
public int[] solution(int[] numbers) {
int[] answer = {};
List<Integer> arr = new ArrayList<Integer>(); //두 수를 더한 값을 저장하는 리스트 생성
for(int i = 0; i<numbers.length-1;i++) { // 중복되지 않게 두 수를 뽑아서
for(int j = i+1; j<numbers.length; j++) {
if(!arr.contains(numbers[i]+numbers[j])) { //배열에 포함되어 있지 않다면
arr.add(numbers[i]+numbers[j]); //두 수를 더해 리스트에 추가한다.
}
}
}
answer = new int [arr.size()]; //answer 배열에 리스트의 사이즈만큼 초기화한다.
for(int i = 0; i<answer.length; i++){ //answer의 크기만큼 반복한다.
answer[i] = arr.get(i); //리스트의 요소를 answer 인덱스에 넣는다.
}
Arrays.sort(answer); //answer 배열을 오름차순으로 정렬한다.
return answer;
}
}
반응형
'프로그래밍 > algorithm' 카테고리의 다른 글
<프로그래머스> 문자열을 정수로 바꾸기 (0) | 2020.11.10 |
---|---|
<프로그래머스> 체육복 (0) | 2020.11.09 |
<프로그래머스> 같은 숫자는 싫어 (0) | 2020.11.08 |
1931번 : 회의실 (0) | 2020.11.08 |
11047번 : 동전 0 (0) | 2020.11.08 |