Search

배열8_문제05_배열비교

대분류
STEP05 배열
소분류
배열8_문제

영상

문제

package 배열8_문제; /* [문제] arr배열과 result배열을 비교해서 겹치는 값이 있으면 두 배열의 값을 전부 0으로 변경하시오. 단, 겹치는 값이 여러개 있으면 전부 0으로 변경하시오. [정답] arr = { {0, 0, 4}, {0, 0, 0}, {0, 8, 9}, } result = {0, 0, 0, 0, 7} */ public class 배열8_문제05_배열비교_문제 { public static void main(String[] args) { int[][] array = { {1,3,4}, {5,6,3}, {6,8,9}, }; int[] result = {1, 5, 6, 3, 7}; } }
Java
복사

해설

package 배열8_문제; import java.util.Arrays; /* [문제] arr배열과 result배열을 비교해서 겹치는 값이 있으면 두 배열의 값을 전부 0으로 변경하시오. 단, 겹치는 값이 여러개 있으면 전부 0으로 변경하시오. [정답] arr = { {0, 0, 4}, {0, 0, 0}, {0, 8, 9}, } result = {0, 0, 0, 0, 7} */ public class 배열8_문제05_배열비교_정답 { public static void main(String[] args) { int[][] array = { {1,3,4}, {5,6,3}, {6,8,9}, }; int[] result = {1, 5, 6, 3, 7}; /* i = 0 check = false j = 0 k = 0 1 == 1 true check = true arr = {0,3,4}, {5,6,3}, {6,8,9}, k = 1 1 == 3 false k = 2 1 == 4 false j = 1 k = 0 1 == 5 false k = 1 1 == 6 false k = 2 1 == 3 false j = 2 k = 0 1 == 6 false k = 1 1 == 8 false k = 2 1 == 9 false ... */ for(int i=0; i<result.length; i++) { boolean check = false; for(int j=0; j<array.length; j++) { for(int k=0; k<array[j].length; k++) { if(result[i] == array[j][k]) { check = true; array[j][k] = 0; } } } if(check) { result[i] = 0; } } System.out.println(Arrays.toString(result)); for(int i=0; i<array.length; i++) { System.out.println(Arrays.toString(array[i])); } } }
Java
복사