32. 두개 뽑아서 더하기
https://programmers.co.kr/learn/courses/30/lessons/68644
[풀이에 필요한 조건]
[해답]
import java.util.*;
class Solution {
public int[] solution(int[] numbers) {
int sum=0;
ArrayList<Integer> insert = new ArrayList<>();
ArrayList<Integer> compare = new ArrayList<>();
ArrayList<Integer> real_int = new ArrayList<>();
for(int i=0;i< numbers.length;i++){
insert.add(numbers[i]);
}
Collections.sort(insert);
int count=insert.size();
for(int i=0;i<count;i++){
for(int j=0;j<insert.size()-1;j++){
sum = insert.get(0)+insert.get(j+1);
compare.add(sum);
}
insert.remove(0);
if(i==insert.size()){
sum=insert.get(0)+insert.get(1);
compare.add(sum);
}
}
real_int.add(compare.get(0));
int cnt=0;
for(int i=0;i<compare.size();i++){
if(real_int.contains(compare.get(i))==false){
real_int.add(compare.get(i));
}
}
Collections.sort(real_int);
int[] answer = new int[real_int.size()];
for(int i=0;i<real_int.size();i++){
answer[i] = real_int.get(i);
}
return answer;
}
}
import java.util.*;
class Solution {
public int[] solution(int[] numbers) {
int sum=0;
ArrayList<Integer> insert = new ArrayList<>();
ArrayList<Integer> compare = new ArrayList<>();
ArrayList<Integer> real_int = new ArrayList<>();
for(int i=0;i< numbers.length;i++){
insert.add(numbers[i]);
}
Collections.sort(insert);
int count= insert.size();
for(int i=0;i<count;i++){
System.out.println("insert size 변화 확인용 = "+count);
for(int j=0;j<insert.size()-1;j++){
//System.out.println("현재 루틴 값 i : "+i);
//System.out.println("현재 루틴 값 j : "+j);
System.out.println("insert.get(0) 값 : "+insert.get(0));
System.out.println("더해줄 값 : "+insert.get(j+1));
sum = insert.get(0)+insert.get(j+1);
compare.add(sum);
System.out.println("결과 : "+sum+"\n===============================");
}
insert.remove(0);
if(i==insert.size()){
sum=insert.get(0)+insert.get(1);
System.out.println(sum);
compare.add(sum);//System.out.println("현재 루틴 값 i : "+i);
//System.out.println("현재 루틴 값 j : "+j);
System.out.println("insert.get(0) 값 : "+insert.get(0));
System.out.println("더해줄 값 : "+insert.get(1));
System.out.println("결과 : "+sum+"\n===============================");
}
}
real_int.add(compare.get(0));
for(int i=0;i<compare.size();i++){
System.out.println("compare.get("+i+")="+compare.get(i));
}
System.out.println("=============================================");
int cnt=0;
for(int i=0;i<compare.size();i++){
System.out.println("real_int.contains(compare.get("+i+")) = "+real_int.contains(compare.get(i)));
if(real_int.contains(compare.get(i))==false){
real_int.add(compare.get(i));
}
}
Collections.sort(real_int);
int[] answer = new int[real_int.size()];
for(int i=0;i<real_int.size();i++){
System.out.println("real_int.get("+i+")) = "+real_int.get(i));
answer[i] = real_int.get(i);
}
return answer;
}
}
public class Main {
public static void main(String[] args) {
Solution sol = new Solution();
int[] num = {5,0,2,7,10,49,99,100,100,100};
int[] result = sol.solution(num);
System.out.println(Arrays.toString(result));
}
}
더보기