반응형
🔐 문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/68644
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
🔐 문제 분석
- 두 개를 뽑아서 더했을 때, 더한 값이 유일한 값임을 보장하기 위하여 Set 자료구조를 사용한다.
(추가적으로 정렬을 보장하기 위하여 구현체를 HashSet이 아닌 TreeSet을 사용한다.) - 반복문을 통해 두 수를 뽑은 후, 더한 값을 Set에 담는다.
- Set을 int[] 형태로 변환하여 반환한다.
🔐 문제 풀이
import java.util.Arrays;
import java.util.TreeSet;
import java.util.Set;
class Solution {
public int[] solution(int[] numbers) {
// 두 개를 뽑아서 더했을 때, 더한 값이 유일함을 보장하기 위하여 Set 자료구조 사용
Set<Integer> answer = new TreeSet<>();
// 두 수 뽑기
for (int i = 0; i < numbers.length - 1; i++) {
for (int j = i + 1; j < numbers.length; j++) {
answer.add(numbers[i] + numbers[j]);
}
}
// Set을 정렬 후 int[]로 변환하여 반환
return answer.stream().mapToInt(i -> i).toArray();
}
}
반응형
'Algorithm' 카테고리의 다른 글
[프로그래머스] Lv1. 추억 점수 (0) | 2023.06.09 |
---|---|
[프로그래머스] Lv1. 가장 가까운 같은 글자 (0) | 2023.06.08 |
[프로그래머스] Lv1. K번째수 (0) | 2023.06.07 |
[프로그래머스] Lv1. 문자열 내 마음대로 정렬하기 (0) | 2023.06.06 |
[프로그래머스] Lv1. 삼총사 (0) | 2023.06.06 |