- 이중 반복문을 통해서 두 개의 수를 더한 것을 sum에 대입한다.
indexOf
를 통해서 리스트에 sum이 들어있지 않으면add
를 통해 추가한다.get
을 통해서 리스트를 가져와서 answer에 넣어준다.Arrays.sort()
로 정렬한다.
/*
* 프로그래머스 Lv1 - 두 개 뽑아서 더하기
* 문제링크: https://programmers.co.kr/learn/courses/30/lessons/68644
*/
import java.util.*;
class Solution {
public int[] solution(int[] numbers) {
ArrayList<Integer> list = new ArrayList<Integer>();
for(int i=0; i<numbers.length; i++)
{
for(int j=i+1; j<numbers.length; j++)
{
int sum = numbers[i] + numbers[j];
if(list.indexOf(sum) <0)
list.add(sum);
}
}
int[] answer = new int[list.size()];
for(int i=0; i<list.size(); i++)
{
answer[i] = list.get(i);
}
Arrays.sort(answer);
return answer;
}
}
문제만 보면 쉽게 풀 수 있을 것 같은 문제인데 생각보다 어려웠던 것 같다. indexOf() 메소드를 오랜만에 사용을 하였고 이것으로 중복된 수가 있는지 판단할 수 있어서 해결할 수 있었다.