코딩테스트/프로그래머스
[프로그래머스] 두 개 뽑아서 더하기(Java)
Jindory
2022. 4. 16. 20:09
반응형
문제 설명
정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.
제한사항
- numbers의 길이는 2 이상 100 이하입니다.
- numbers의 모든 수는 0 이상 100 이하입니다.
전체코드(Java)
import java.util.*;
class Solution {
public int[] solution(int[] numbers) {
int[] answer = {};
// 중복값없이 담을 HashSet 생성
Set<Integer> list = new HashSet<Integer>();
// numbers를 순회하며 2개씩 뽑아서 합한값을 list에 추가
for(int i=0;i<numbers.length-1;i++){
for(int j=i+1;j<numbers.length;j++){
list.add(numbers[i]+numbers[j]);
}
}
// HashSet을 int array로 변경
answer = setToArray(list);
// 오름차순으로 정렬
Arrays.sort(answer);
return answer;
}
public int[] setToArray(Set<Integer> set){
int[] arr = new int[set.size()];
int i = 0;
for(Integer num : set){
arr[i++]=num;
}
return arr;
}
}
[참고]
https://programmers.co.kr/learn/courses/30/lessons/68644?language=java
반응형