Hayden's Archive

[알고리즘] 프로그래머스 : 두 개 뽑아서 더하기 본문

Algorithm

[알고리즘] 프로그래머스 : 두 개 뽑아서 더하기

_hayden 2021. 2. 17. 01:41

알고리즘 문제 출처 : programmers.co.kr/learn/courses/30/lessons/68644

 

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

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

programmers.co.kr

 

내가 작성한 코드

public class Solution {
	public int[] solution(int[] numbers) {
		int maxSum = 200;
		int[] tempSumBox = new int[maxSum + 1]; //나올 수 있는 합은 0~200
		int length = 0;
		for(int i=0; i<numbers.length; i++) {
			for(int j=i; j<numbers.length-1; j++) {
				int sum = numbers[i] + numbers[j+1];
				if(tempSumBox[sum] == 0) {
					tempSumBox[sum] = 1;
					length++;
				}
			}
		}
		int[] answer = new int[length];
		int idx = 0;
		for(int i=0; i<tempSumBox.length; i++) {
			if(tempSumBox[i] == 1) {
				answer[idx] = i;
				idx++;
			}
		}
		return answer;
	}
}