두 개 뽑아서 더하기(java)
문제설명
생각하기
- numbers인덱스 배열에서 이중 포문을 돌리며 0, 1~N -> 1, 2~N 이런식으로 끝까지 반복하며 수를더한다.
- ArrayList를 사용하여 list에 중복이 아닌 수를 추가해준다.
- 정렬
- ArrayList를 int[]로 변환
내 풀이
import java.util.*;
class Solution {
public int[] solution(int[] numbers) {
ArrayList<Integer> list = new ArrayList<>();
for(int i=0; i<numbers.length; i++){
for(int j=i+1; j<numbers.length; j++){
if(!(list.contains(numbers[i]+numbers[j]))) list.add(numbers[i]+numbers[j]);
}
}
Collections.sort(list);
int[] ans = new int[list.size()];
for(int i =0; i<ans.length; i++){
ans[i] = list.get(i);
}
return ans;
}
}
먼저 ArrayList인 list를 만들고 이중포문으로 numbers의 0번째를 기준으로 1~numbers.length까지 더해준다. 이때 조건으로
!(list.contains(numbers[i]+numbers[j]))로 리스트에 값이 없다면 add로 추가해준다.
Collectons.sort(list) 오름차순 정렬
ans[]의 크기를 할당해주고
ArrayList를 int[]로 변환 후 리턴해준다.
Author And Source
이 문제에 관하여(두 개 뽑아서 더하기(java)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@juntree/두-개-뽑아서-더하기-9l8hg5v8저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)