영상
문제
package 배열7_문제;
/*
[문제]
input배열 안에 arr배열 안의 값이 있을 때마다
b배열 안에 arr 값의 인덱스를 저장하려 한다.
만약 input의 숫자가 arr에 없으면 -1을 저장한다.
단, 앞에서부터 저장한다.
[정답]
b = {2, 3, 0, -1, -1}
*/
public class 배열7_문제03_배열비교_문제 {
public static void main(String[] args) {
int[] input = {30, 40, 1, 10, 2};
int[] arr = {10, 20, 30, 40};
int[] b = {-1, -1, -1, -1, -1};
}
}
Java
복사
해설
package 배열7_문제;
import java.util.Arrays;
/*
[문제]
input배열 안에 arr배열 안의 값이 있을 때마다
b배열 안에 arr 값의 인덱스를 저장하려 한다.
만약 input의 숫자가 arr에 없으면 -1을 저장한다.
단, 앞에서부터 저장한다.
[정답]
b = {2, 3, 0, -1, -1}
*/
public class 배열7_문제03_배열비교_정답 {
public static void main(String[] args) {
int[] input = {30, 40, 1, 10, 2};
int[] arr = {10, 20, 30, 40};
int[] b = {-1, -1, -1, -1, -1};
/*
bIndex = 0
i = 0
check = -1
j = 0 30 == arr[0] false
j = 1 30 == arr[1] false
j = 2 30 == arr[2] true check = 2 break
check != -1 true b[0] = 2 bIndex = 1
i = 1
check = -1
j = 0 40 == arr[0] false
j = 1 40 == arr[1] false
j = 2 40 == arr[2] false
j = 3 40 == arr[3] true check = 3
check != -1 true b[1] = 3 bIndex = 2
...
*/
int bIndex = 0;
for(int i=0; i<input.length; i++) {
int check = -1;
for(int j=0; j<arr.length; j++) {
if(input[i] == arr[j]) {
check = j;
break;
}
}
if(check != -1) {
b[bIndex] = check;
bIndex += 1;
}
}
System.out.println(Arrays.toString(b));
}
}
Java
복사