ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Level1) 두 개 뽑아서 더하기
    PS/programmers 2020. 10. 8. 16:39
    import java.util.*;
    
    class Solution {
        public ArrayList solution(int[] numbers) {
            ArrayList<Integer> list = new ArrayList<>();
            int leng = numbers.length;
    
            for (int i = 0; i < leng; i++) {
                for (int j = i+1; j < leng; j++) {
                    list.add(numbers[i] + numbers[j]);
                }
            }
    
            HashSet<Integer> result = new HashSet<Integer>(list);
            list = new ArrayList<>(result);
            Collections.sort(list);
    
            return list;
        }
    }

    (1) 나의 풀이

    1. list에 추가

    2. HashSet 생성자에 list를 넣어서 중복값 제거

    3. 다시 list로 바꾼뒤 Collections.srot

     

    import java.util.HashSet;
    import java.util.Set;
    
    class Solution {
         public int[] solution(int[] numbers) {
            Set<Integer> set = new HashSet<>();
    
            for(int i=0; i<numbers.length; i++) {
                for(int j=i+1; j<numbers.length; j++) {
                    set.add(numbers[i] + numbers[j]);
                }
            }
    
            return set.stream().sorted().mapToInt(Integer::intValue).toArray();
        }
    }

    (2) java8 stream 이용

     

    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.HashSet;
    import java.util.Iterator;
    
    class Solution {
        public static ArrayList<Integer> solution(int[] numbers) {
            ArrayList<Integer> answer = new ArrayList<>();
            HashSet<Integer> set = new HashSet<>();
    
            for (int i = 0; i < numbers.length - 1; i++) {
                for (int j = i + 1; j < numbers.length; j++) {
                    set.add(numbers[i] + numbers[j]);
                }
            }
    
            Iterator<Integer> iter = set.iterator();
            while(iter.hasNext()) {
                answer.add(iter.next());
            }
    
            Collections.sort(answer);
            return answer;
        }
    }
    

    (3)

    1. HashSet에 결과값 저장

    2. Iterator를 돌면서 set의 값을 list에 저장

    3. Collectinos.sort

     

     

     

     

    'PS > programmers' 카테고리의 다른 글

    Level2) 주식가격  (0) 2020.10.09
    Level2) 프린터  (0) 2020.10.09
    Level1) x만큼 간격이 있는 n개의 숫자  (0) 2020.09.12
    Level1) 하샤드 수  (0) 2020.09.12
    Level1) 콜라츠 추측  (0) 2020.09.12
킹수빈닷컴