본문 바로가기
Develop/프로그래머스(코딩테스트)

두 개 뽑아서 더하기

by 걸어다니는 종합병원 2021. 3. 18.
반응형

 

내맘대로 풀기

import java.util.*;
class Solution {
    public int[] solution(int[] numbers) {
         TreeSet<Integer> set = new TreeSet<Integer>();
        for(int i=0; i<numbers.length; i++){
             for(int j=0; j<numbers.length; j++){
                 if(i == j)
                     continue;
                 set.add(numbers[i]+numbers[j]);
            
            }
        }
       
        int[] answers = new int[set.size()];
        Object[] arr = set.toArray(); 
        Iterator iter = set.iterator();	
        for (int j = 0; j < arr.length; j++) {
            answers[j]=(int)arr[j];
        }
        return answers;
    }
}

TreeSet은 순서를 유지하면서 중복은 안됨.

TreeSet<Integer> set = new TreeSet<Integer>(Arrays.asList(4,2,3));//초기값 지정
System.out.println(set); //전체출력 [2,3,4]
System.out.println(set.first());//최소값 출력
System.out.println(set.last());//최대값 출력
System.out.println(set.higher(3));//입력값보다 큰 데이터중 최소값 출력 없으면 null
System.out.println(set.lower(3));//입력값보다 작은 데이터중 최대값 출력 없으면 null
		
Iterator iter = set.iterator();	// Iterator 사용
while(iter.hasNext()) {//값이 있으면 true 없으면 false
    System.out.println(iter.next());
}

 

반응형

댓글