package Programmers;
import java.util.ArrayList;
import java.util.Arrays;
public class TwoSelect {
//정수 배열 을 만들기 -> numbers 에서 인덱스에 있는 두개의 수 -> 더해서 만들 수 있는 수를 배열에 오름차순
//[ 3, 4, 5, 2, 9 , 10 ]
//두개의 수를 더해주세요. 1- 2, 3, 4, 5, 6, 7
/*2- 3, 4, 5, 6, 7,
3 - 4, 5, 6, 7,
4 - 5, 6, 7
5 - 6, 7,
6 ,7
더해서 나오기
문제 : 동일한 수를 빼주기 */
// 배열 처음 만들기
/* 1.정수 배열이 주어짐 []
*
*
* 2.그 정수에서 그 수를 제외하고 그 뒤에 있는 모든 수를 더해줘본다
*
*
* 3.나온 수를 앞에 있는 수들과 비교를 해서 없는 수이면 배열에 더해준다.
* 4.배열은 나올 수 있는 최대값을 만들어진다.
* 5.그 배열을 수가 있는 배열로 새로 만들어준다.
*
*/
public static void main(String[] args) {
TwoSelect t = new TwoSelect();
int array[] = new int[]{400,3,400,30,800,0 };
method(array);
}
private static int[] method(int[] array) {
System.out.println(Arrays.toString(array));
int answerleng = 0;
for ( int i = 1; i < array.length; i++){
answerleng += i ;
}
System.out.println("중복되는 행이 없을시 총 나오는 경우의 수의 갯수 : " + answerleng );
int[] beforeAnswer = new int[answerleng];
System.out.println(Arrays.toString(beforeAnswer));
int sum = 0 ;
int p = 0;
for(int i = 0 ; i < array.length-1; i++ ){
for ( int j = i+1; j <array.length ; j++){
sum = array[i] + array[j];
System.out.println(sum);
beforeAnswer[p++] = sum ;
} //두번째 for
}// 첫번째 for
System.out.println(Arrays.toString(beforeAnswer));
//중복제거
ArrayList list = new ArrayList();
for(int i = 0 ; i < beforeAnswer.length; i++ ){
if(!list.contains(beforeAnswer[i]))
list.add(beforeAnswer[i]);
}
System.out.println(list);
int[] answer = new int[list.size()];
for(int i = 0 ; i < answer.length ; i++){
answer[i] = (int) list.get(i);
}
System.out.println(Arrays.toString(answer));
for(int i = 0 ; i <answer.length ; i++){
for(int j = 0 ; j <answer.length ; j++){
if(answer[i] < answer[j]){
}
}
}
for(int i = 0; i < answer.length - 1; i++){
int min = i;
for(int j = i + 1; j < answer.length; j++){
if( answer[min] > answer[j] ){
min = j;
}
}
int temp = answer[i];
answer[i] = answer[min];
answer[min] = temp;
}
System.out.println(Arrays.toString(answer));
return answer;
} //private static int[] method(int[] array) 의 얘
}
---------------------프로그래머스제출용----------------------------------------------------------
package Programmers;
import java.util.ArrayList;
import java.util.Arrays;
public class TwoSelect {
public static void main(String[] args) {
TwoSelect t = new TwoSelect();
int array[] = new int[]{400,3,400,30,800,0 };
solution(array);
}
private static int[] solution(int[] solution) {
int[] answer = {};
int answerleng = 0;
for ( int i = 1; i < solution.length; i++){
answerleng += i ;
}
int[] beforeAnswer = new int[answerleng];
int sum = 0 ;
int p = 0;
for(int i = 0 ; i < solution.length-1; i++ ){
for ( int j = i+1; j <solution.length ; j++){
sum = solution[i] + solution[j];
beforeAnswer[p++] = sum ;
}
}
ArrayList list = new ArrayList();
for(int i = 0 ; i < beforeAnswer.length; i++ ){
if(!list.contains(beforeAnswer[i]))
list.add(beforeAnswer[i]);
}
answer = new int[list.size()];
for(int i = 0 ; i < answer.length ; i++){
answer[i] = (int) list.get(i);
}
for(int i = 0 ; i <answer.length ; i++){
for(int j = 0 ; j <answer.length ; j++){
if(answer[i] < answer[j]){
}
}
}
for(int i = 0; i < answer.length - 1; i++){
int min = i;
for(int j = i + 1; j < answer.length; j++){
if( answer[min] > answer[j] ){
min = j;
}
}
int temp = answer[i];
answer[i] = answer[min];
answer[min] = temp;
}
System.out.println(Arrays.toString(answer));
return answer;
} //private static int[] method(int[] array) 의 얘
}
댓글
댓글 쓰기