코딩배움일지/JAVA
과제
karatejin
2022. 11. 18. 12:56
1.번 문제
두 배열의 중복된 최소값과 중복되지 않은 최대값을 표시해라
public class Array4 {
public static int cmpMin(int[]array1, int[]array2) {
int min = 0;
return min;
}
public static int cmpMax(int[]array1, int[]array2) {
int max =0;
return max;
}
public static void main(String[] args) {
int[] nums1= new int[]{1,2,3,4,5,6,7,8,9,10}; /*중복된것중 최소값0*/
int[] nums2= new int[]{6,7,8,9,10,11,12,13,14,15}; /*중복되지 않는 것중 최대값*/
/*
1. 두 배열에서 중복된 값 중 최소값
2. 두 배열에서 중복되지 않은 값 중 최대값
*/
}
}
1번 풀기
public class Array4 {
public static int cmpMin(int[]array1, int[]array2) {
int min = 0;
min = 10;
boolean check = true;
for (int i = 0; i < array1.length; i++) {
for (int j = 0; j < array2.length; j++)
while (true) {
if (array1[i] == array2[j]) {
int a = array1[i];
if (min < a) {
check = false;
}
if (check){
min = array1[i];
}
}
break;
}
}
return min;
}
public static int cmpMax(int[]array1, int[]array2) {
int max =0;
max = 15;
boolean check = true;
for(int i = 0; i < array2.length; i++){
for (int j = 0; j <array1.length; j++)
while(true){
if (array2[i] != array1[j]){
int a = array2[i];
if (max > a){
check = false;
}if (check){
max =array1[i];
}
}
break;
}
}
return max;
}
public static void main(String[] args) {
int[] nums1= new int[]{1,2,3,4,5,6,7,8,9,10}; /*중복된것중 최소값*/
int[] nums2= new int[]{6,7,8,9,10,11,12,13,14,15}; /*중복되지 않는 것중 최대값*/
/*
1. 두 배열에서 중복된 값 중 최소값
2. 두 배열에서 중복되지 않은 값 중 최대값
*/
System.out.println(cmpMin(nums1,nums2));
System.out.println(cmpMax(nums1,nums2));
}
}
2번 문제
각배열을 같은 열의 최소 값만 출력하기
public class Array5 {
public static void main(String[] args) { /*배열*/ /*4개의 배열 중 첫(둘,3,4)번쨰 애들만 뽑아서 최소값*/
int[] nums1 = new int []{1,8,9,16,17};
int[] nums2 = new int []{2,7,10,15,18};
int[] nums3 = new int []{3,6,11,14,19};
int[] nums4 = new int []{4,5,12,13,20};
int[] resultArray = new int[5];
/*배열들 중 동일 인덱스에 위치한 값들 중 최소값들만 뽑아서 새로운 배열을 만든다.*/
int a = 10;
int b = 5;
int c = 7;
int min = a;
if(a < b){
min = a;
}else{
min = b;
}
if(c < min){
min = c;
}
System.out.println("min: " + min);
/* System.out.println(isSubset(nums1, nums2,));*/
}
}
2번 풀기
public class Array5 {
public static void main(String[] args) { /*배열*/ /*4개의 배열 중 첫(둘,3,4)번쨰 애들만 뽑아서 최소값*/
int[] nums1 = new int []{1,8,9,16,17};
int[] nums2 = new int []{2,7,10,15,18};
int[] nums3 = new int []{3,6,11,14,19};
int[] nums4 = new int []{4,5,12,13,20};
int[] resultArray = new int[5];
/*배열들 중 동일 인덱스에 위치한 값들 중 최소값들만 뽑아서 새로운 배열을 만든다.*/
int a = 10;
int b = 5;
int c = 7;
int min = a;
if(a < b){
min = a;
}else{
min = b;
}
if(c < min){
min = c;
}
System.out.println("min: " + min);
int [] minNum = new int[nums1.length];
for(int i = 0; i < nums1.length; i++){
if(nums1[i] < nums2[i]){
minNum[i] = nums1[i];
} else if (nums2[i] < nums3[i]){
minNum[i] = nums2[i];
} else if (nums3[i] < nums4[i]){
minNum[i] = nums3[i];
} else {
minNum[i] = nums4[i];
}
}
for(int i = 0; i < nums1.length; i++) {
System.out.print(minNum[i]);
System.out.print(i != (nums1.length-1) ? ", " : " ");
}
}
}