Search

배열9_문제01_같은수삭제

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

영상

문제

package 배열9_문제; import java.util.Arrays; /* [문제] 1. input의 데이터를 a배열에 순차적으로 저장한다. 2. 단, 저장하려는 숫자가 현재 숫자와 같으면 둘 다 삭제한다. a = {1, 3, 0, 0, 0, 0, 0, 0, 0, 0} a = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0} a = {1, 2, 0, 0, 0, 0, 0, 0, 0, 0} a = {1, 2, 1, 0, 0, 0, 0, 0, 0, 0} a = {1, 2, 0, 0, 0, 0, 0, 0, 0, 0} a = {1, 2, 4, 0, 0, 0, 0, 0, 0, 0} a = {1, 2, 0, 0, 0, 0, 0, 0, 0, 0} [정답] a = {1, 2, 0, 0, 0, 0, 0, 0, 0, 0} */ public class 배열9_문제01_같은수삭제_문제 { public static void main(String[] args) { int[] input = {1, 3, 3, 2, 1, 1, 4, 4}; int[] a = new int[input.length]; } }
Java
복사

해설

package 배열9_문제; import java.util.Arrays; /* [문제] 1. input의 데이터를 a배열에 순차적으로 저장한다. 2. 단, 저장하려는 숫자가 현재 숫자와 같으면 둘 다 삭제한다. a = {1, 3, 0, 0, 0, 0, 0, 0, 0, 0} a = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0} a = {1, 2, 0, 0, 0, 0, 0, 0, 0, 0} a = {1, 2, 1, 0, 0, 0, 0, 0, 0, 0} a = {1, 2, 0, 0, 0, 0, 0, 0, 0, 0} a = {1, 2, 4, 0, 0, 0, 0, 0, 0, 0} a = {1, 2, 0, 0, 0, 0, 0, 0, 0, 0} [정답] a = {1, 2, 0, 0, 0, 0, 0, 0, 0, 0} */ public class 배열9_문제01_같은수삭제_정답 { public static void main(String[] args) { int[] input = {1, 3, 3, 2, 1, 1, 4, 4}; int[] a = new int[input.length]; /* a = [1, 2, 0, 0, 0, 0, 0, 0] index = 0, i = 1 a[0] != input[1] true index = 1 a[1] = input[1] index = 1, i = 2 a[1] != input[2] false a[1] = 0 index = 0 index = 0, i = 3 a[0] != input[3] true index = 1 a[1] = input[3] ... */ int index = 0; a[index] = input[0]; for(int i=1; i<input.length; i++) { // a에 위치해 있는 숫자와 input의 숫자가 서로 다르면, if(a[index] != input[i]) { index += 1; a[index] = input[i]; } else { // a에 위치해 있는 숫자와 input의 숫자가 서로 같으면, a[index] = 0; index -= 1; } System.out.println(Arrays.toString(a)); } } }
Java
복사