코딩 테스트 실습 – 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