반응형
문제
programmers.co.kr/learn/courses/30/lessons/68644
코드
import java.util.*;
class Solution {
public int[] solution(int[] numbers) {
HashSet<Integer> set = new HashSet<>(); // 중복 없게 하기 위해 Set 사용
for(int i = 0; i < numbers.length-1; i++) {
for(int j = i+1; j < numbers.length; j++) {
set.add(numbers[i] + numbers[j]);
}
}
ArrayList<Integer> list = new ArrayList<>(set); //Set을 문제가 원하는 Array로 바꾸는 과정
Collections.sort(list);
int[] answer = new int[list.size()];
for(int i = 0; i < list.size(); i++) {
answer[i] = list.get(i);
}
return answer;
}
}
Set을 Array로 바꾸는 저 7줄의 코드를
return set.stream().sorted().mapToInt(Integer::intValue).toArray();
이렇게 한방에 쓸 수 있다;;;; 프로그래머스에서 다른 사람의 풀이에서 봄ㅠㅠ
stream 공부해야겠다.
반응형
'알고리즘 문제 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 - Java] 기둥과 보 설치 (2020 KAKAO BLIND RECRUITMENT) (417) | 2021.01.11 |
---|---|
[프로그래머스 - Java] 삼각 달팽이(월간 코드 챌린지 시즌1) (0) | 2020.09.22 |
[프로그래머스 - Java] [3차] 압축 (2018 KAKAO BLIND RECRUITMENT) (0) | 2020.09.12 |
[프로그래머스 - Java] 점프와 순간 이동 (0) | 2020.09.10 |
[프로그래머스 - Java] 단어 변환 (DFS/BFS Level 3) (0) | 2020.05.19 |
댓글