728x90
반응형
300x250
문제 설명 : numbers 배열이 주어질 때, 2개를 뽑아서 더해서 나올 수 있는 모든 수를 오름차순으로 정렬.
나의 풀이
import java.util.*;
class Solution {
public int[] solution(int[] numbers) {
int[] answer = {};
ArrayList<Integer> list =new ArrayList<>();
for(int i=0 ; i<numbers.length-1;i++){
for(int j=i+1; j<numbers.length;j++){
list.add(numbers[i]+numbers[j]);
}
}
return list.stream().distinct().sorted().mapToInt(i->i).toArray();
}
}
나는 나올 수 있는 모든 수를 반복문으로 ArrayList에 넣고 최근에 글을 올린 Stream으로 문제를 해결했다.
ArrayList를 스트림으로 바꾸고 distinct()를 호출하면 중복을 제거할 수 있고, sorted를 통해 정렬
마지막으로 mapToInt를 통해 Integer를 int형으로 바꾸고 toArray()를 통해 형 변환을 해줬다.
728x90
728x90
'알고리즘' 카테고리의 다른 글
프로그래머스,java]Level2 기능개발 (0) | 2022.02.19 |
---|---|
프로그래머스] 로또의 최고 순위와 최저 순위 (0) | 2022.02.18 |
알고리즘] 1부터 n까지의 소수 갯수 찾기 및 출력 (0) | 2021.11.29 |
문자열 압축 [java] (0) | 2021.10.24 |
java,알고리즘] 문자열에서 숫자만 추출하기 (0) | 2021.10.05 |
댓글