본문 바로가기
Algorithm/PROGRAMMERS[Java]

Lv1. 두 개 뽑아서 더하기

by 씨니 2022. 4. 17.
728x90

▶ 문제

 

▶ 풀이방법

- 중복 제거해 값 저장하는 hashset사용

import java.util.*;
class Solution {
    public int[] solution(int[] numbers) {
        int [] answer = {};
		HashSet<Integer> hs = new HashSet<>(); //값 중복없이 저장됨.
		
		for(int i = 0; i < numbers.length-1; i++) {
			for(int j = i+1; j <numbers.length; j++) {
				hs.add(numbers[i] + numbers[j]);
			}
		}
		
        //ArrayList사용해 hashset에 저장된 값 꺼내 answer배열에 저장.
        /*ArrayList<Integer> list = new ArrayList<>(hs);
		answer = new int[hs.size()];
		for(int i = 0; i < list.size(); i++){
            answer[i] = list.get(i);
        }*/
        
        //반복자 Iterator사용해 hashSet값 꺼내서 answer에 저장
		Iterator<Integer> is = hs.iterator();
		int index = 0;
		answer = new int[hs.size()];
		while(is.hasNext()) {
			answer[index] = is.next();
			index++;
		}
        
        Arrays.sort(answer); //배열 오름차순 정렬
        return answer;
    }
}
728x90

'Algorithm > PROGRAMMERS[Java]' 카테고리의 다른 글

Lv1. 3진법 뒤집기  (0) 2022.04.17
Lv1. 예산  (0) 2022.04.17
Lv1. 2016년  (0) 2022.04.17
Lv1. 최소직사각형  (0) 2022.04.17
Lv1. 나머지가 1이 되는 수 찾기  (0) 2022.04.17