본문 바로가기

코테/프로그래머스

lv1 두 개 뽑아서 더하기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import java.util.*;
class Solution {
    public int[] solution(int[] numbers) {
        int[] answer = {};
        int index = 0;  //합 구하는 반복문에 사용
        int number = 0//합 구하는 반복문에 사용
        int size = numbers.length//합 구하는 반복문에 사용
        List<Integer> list = new ArrayList<>(); //합을 저장하는 ArrayList
        List<Integer> newList = new ArrayList<>(); //중복 제거한 ArrayList
        //중복 제거 안된 합 들 list에 넣기
        for(int i = 0 ; size -1 > i ; i++){ 
            for(int j = i+1 ; size > j ; j++ ){
                number = numbers[i] + numbers[j];         
                    System.out.print(number + " ");
                list.add(number);
            }
        }
        //list 중 중복된 값 제거하고 newList에 넣기
        for(int i =0 ; list.size()>i; i++){
            if(!newList.contains(list.get(i))){ //중복된 것이 없는 값만 넣기 
                newList.add(list.get(i));
            }
        }
        //newList 오름차순 정렬
        Collections.sort(newList);     
        //List 를 배열로 
        answer = ListToArray(newList);
        return answer;
    }
    
    public static int[] ListToArray(List<Integer> list){
        int[] answer = new int[list.size()];
        for(int i = 0 ; answer.length> i ; i++){
            answer[i] = list.get(i);
        }
        return answer;
    }
}
cs

'코테 > 프로그래머스' 카테고리의 다른 글

상위 n개 레코드  (0) 2020.12.26
lv1 완주하지 못한 선수  (0) 2020.12.24
3진법 뒤집기  (0) 2020.12.06
lv1 수박수박수박수박수박수?  (0) 2020.11.15
lv1 체육복  (0) 2020.11.12