[ 문제 설명 ]
정수 배열 numbers가 주어집니다.
numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.
[ 제한사항 ]
- numbers의 길이는 2 이상 100 이하입니다.
- numbers의 모든 수는 0 이상 100 이하입니다.
[ 입출력 예 ]
numbers | result |
[2, 1, 3, 4, 1] | [2, 3, 4, 5, 6, 7] |
[5, 0, 2, 7] | [2, 5, 7, 9, 12] |
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
class Solution{
public static int[] solution(int[] numbers) {
Set<Integer> set = new HashSet<Integer>();
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에 추가
int[] answer = setToArray(set);
Arrays.sort(answer); // 오름차순 정렬
return answer;
}
public static int[] setToArray(Set<Integer> set) {
int[] arr = new int[set.size()];
int i = 0;
for(Integer value : set)
arr[i++] = value;
return arr;
} // set을 배열로 변환
}
'Algorithm > 백준+프로그래머스+SWEA+정올+구름' 카테고리의 다른 글
[Algorithm] 백준 2750 수 정렬하기 (0) | 2021.04.02 |
---|---|
크레인 인형뽑기 게임 (0) | 2021.04.01 |
[Algorithm] 백준 1085 직사각형에서 탈출 (0) | 2021.03.25 |
[Algorithm] 백준 2609 최대공약수와 최소공배수 (0) | 2021.03.25 |
[Algorithm] 백준 10870 피보나치 수 (0) | 2021.03.25 |