다희의 코딩 성장일기

[프로그래머스] level1. 두 개 뽑아서 더하기 (자바 JAVA) 본문

Algorithm/프로그래머스

[프로그래머스] level1. 두 개 뽑아서 더하기 (자바 JAVA)

ilmiodiario 2021. 8. 20. 19:41

[ 문제 ]  [프로그래머스] level1. 두 개 뽑아서 더하기 (자바 JAVA)

 

문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/68644

 

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

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

programmers.co.kr


# 접근 방법 및 풀이 

 

  • 일단 return 형태를 ArrayList로 바꿨다. 지금까지 항상 int[] answer형태가 미리 써져있어서 이렇게만 반환 가능한줄알고 list로 받고 매일 for문 돌려서 넣어줬는데 다른사람풀이 보고 이제앎...미쳤다.
  • 이중 for문으로 두 수를 구해서 더하고, 더한 값은 중복으로 저장되면 안되기 때문에 set을 이용해서 담았다.
  • 자세한건 코드참조

# 주의할 점 

 

  • 없음

 

JAVA 코드
import java.util.*;
class Solution {
    public ArrayList<Integer> solution(int[] numbers) {
        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]);
            }
        }
        ArrayList<Integer> list = new ArrayList<>(set);
        Collections.sort(list);        
        return list;
    }
}

 

 

 

REVIEW

Comments