천리길도 한걸음부터

문제03 두 개 뽑아서 더하기⭐ 본문

코딩 테스트 합격자 되기_자바💜

문제03 두 개 뽑아서 더하기⭐

밤연양갱 2024. 8. 7. 20:57

// 프로그래머스 제공 문제

- 저자 권장 시간 : 30분

- 권장 시간 복잡도 : O(N^2log(N^2))

- 출제 : 원간 코드 챌린지

 

class Solution() {

    public static int[] solution(int[] numbers) {

        HashSet<Integer> set = new HashSet<>(); // 1. 중복값 제거를 위한 해시셋 생성

        // 2. 두 수를 선택하는 모든 경우의 수를 반복문으로 구성

        for(int i=0; i<numbers.length; i++) {

            for(int j=0+1; j<numbers.length; j++) {

                // 3. 두 수를 더한 결과를 해시셋에 추가

                set.add(numbers[i]+numbers[j]);

            }

        }

        // 4. 해시셋의 값을 오름차순으로 정렬하고 int[] 형태의 배열로 변환하여 반환

        return set.stream().sorted().mapToInt(Integer::newValue).toArray();

    }

}

'코딩 테스트 합격자 되기_자바💜' 카테고리의 다른 글

문제06. 실패율⭐⭐  (0) 2024.08.12
문제05. 행렬의 곱셈⭐  (0) 2024.08.10
문제04. 모의고사⭐  (0) 2024.08.08
문제02 배열 제어하기⭐⭐  (0) 2024.08.06
문제01 배열 정렬하기⭐  (0) 2024.08.05