(프로그래머) 2개 골라서 더하기

코딩 테스트 실습 – 2개 선택하여 추가하기 | 프로그래밍 스쿨 (programmers.co.kr)

문제
정수 배열 번호가 주어집니다. 배열의 서로 다른 인덱스에 있는 두 개의 숫자를 오름차순으로 추가하여 만들 수 있는 모든 숫자를 반환하도록 solve 함수를 완성합니다.

제한
– 숫자의 길이는 2에서 100 사이여야 합니다.
-number의 모든 숫자는 0보다 크거나 같고 100보다 작거나 같습니다.

암호

package programmers;

import java.util.ArrayList;
import java.util.Arrays;
//두 개 뽑아서 더하기
class Solution2 {
    public int() solution(int() numbers) {
        ArrayList result = new ArrayList();
        int sum;
        
        for(int i=0;i<numbers.length;i++) {
        	for(int j=i+1;j<numbers.length;j++) {
        		sum = numbers(i)+numbers(j);
        		if(!result.contains(sum)) result.add(sum); // 중복되지않게 리스트에 수 추가
        	}
        }

        int() answer = new int(result.size());
        for(int i=0;i<answer.length;i++) {		// 리스트 -> 정수 배열
        	answer(i)=(int)result.get(i);
        }
        Arrays.sort(answer);
        
        return answer;
    }
}

public class Plus {
	public static void main(String() args) {
	    Solution2 sol = new Solution2();
	    
//	    int() numbers = {2,1,3,4,1};
	    int() numbers = {5,0,2,7};
	   
	    System.out.println(Arrays.toString(sol.solution(numbers)));
	}
}

코드 설명

목록 결과에 추가된 값을 추가합니다. 이 시점에서 아직 포함되지 않은 숫자만 추가됩니다.

목록 결과는 get에 의해 답변 배열에 삽입되고 답변 배열은 정렬되어 반환됩니다.

결과

숫자 = (2,1,3,4,1) -> 결과 = (2,3,4,5,6,7)

숫자 = (5,0,2,7) -> 결과 = (2,5,7,9,12)

문제

배열: 길이가 고정되어 있어 배열 범위 밖에 요소를 임의로 추가할 수 없습니다.

해결

목록: 동적으로 크기가 조정됩니다. -> 인터페이스

준비 목록 : List를 인터페이스로 구현한 가장 대표적인 클래스. 배열 + 목록 데이터 구조. -> 클래스

에 추가(첨가제) / 받다(입장) / 크기(크기) / 포함(부울 값) / 설정(인덱스, 값)(변화) / 제거(색인)(제거하다)

참조

https://blog.naver.com/cjy2103/222902715945

Java List (List) / ArrayList, List와 ArrayList의 차이점

정리… 다 좋은데 불편한게… 지난번에 정리를 해봤습니다. 그러나 배열은 고정 경로입니다 …

blog.naver.com