비버놀로지

[Programmers 프로그래머스] 68644 두 개 뽑아서 더하기 (JAVA) 본문

ALGORITM/JAVA

[Programmers 프로그래머스] 68644 두 개 뽑아서 더하기 (JAVA)

KUNDUZ 2021. 1. 6. 23:26
728x90

programmers.co.kr/learn/courses/30/lessons/68644

 

코딩테스트 연습 - 두 개 뽑아서 더하기

정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한

programmers.co.kr

for을 돌면서 모든 수를 더해서 TreeSet에 넣어준다.

TreeSet에 넣어줄 경우 중복을 제거해주고, 오른차순으로 정렬을 해준다.

import java.util.TreeSet;

class Solution {
    public int[] solution(int[] numbers) {
		int answer[];
		TreeSet<Integer> tset=new TreeSet<Integer>(); //오름차순정렬과 중복제거를 위해 사용
		for (int i = 0; i < numbers.length; i++) {
			for (int j = i+1; j < numbers.length; j++) {
				
				tset.add(numbers[i]+numbers[j]); //첫번째수와 나머지 모든수를 더해준 값을 넣어준다.
			}
		}
		answer=new int[tset.size()];
		int cnt=0;
		for (Integer i : tset) {
			answer[cnt]=i;
			cnt++;
		}
        return answer;
    }
}
728x90
Comments