Algorithm/JAVA

[자바/JAVA] 배열 - 짝수 홀수 재배열(rearrange)

바오밥 하단 2020. 5. 2. 01:10

 

 

A 배열의 2배의 길이인 B 배열을 만들고,

A 배열의 짝수는 짝수 인덱스에, 홀수는 홀수 인덱스에 저장하는 rearrange 함수를 만든다.

 

package practice3;

import java.util.Arrays;

public class P3_3 {

    

    static void rearrange(int[] A, int[] B) {

 

        int j = 0;

        int t = 0;

        for (int i=0;i<A.length;i++) {

            if (A[i] % 2 == 0) {

                B[2*j] = A[i];

                j++;

            }

            else { 

                B[2*t+1] = A[i];

                t++;

                }

        }

    }

 

    public static void main(String[] args) {

        int A1[] = { 3, 2, 1, 5, 7, 6, 9, 7 };

        int A2[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

        int A3[] = { 1, 3, 5, 7, 9, 2, 4 };

        int A4[] = { 2, 2, 2, 1, 2, 5 };

        int A5[] = { 4 };

        int A6[] = { 7 };

        

        // 배열 B1 ~ B6를 생성하고 메소드 rearrange()를 사용하여 채운다.

        int B1[] = new int[A1.length*2];

        int B2[] = new int[A2.length*2];

        int B3[] = new int[A3.length*2];

        int B4[] = new int[A4.length*2];

        int B5[] = new int[A5.length*2];

        int B6[] = new int[A6.length*2];

        rearrange(A1 , B1);

        rearrange(A2 , B2);

        rearrange(A3 , B3);

        rearrange(A4 , B4);

        rearrange(A5 , B5);

        rearrange(A6 , B6);

        

        System.out.println("B1 : " + Arrays.toString(B1));

        System.out.println("B2 : " + Arrays.toString(B2));

        System.out.println("B3 : " + Arrays.toString(B3));

        System.out.println("B4 : " + Arrays.toString(B4));

        System.out.println("B5 : " + Arrays.toString(B5));

        System.out.println("B6 : " + Arrays.toString(B6));

 

    }

}

 

Colored by Color Scripter

cs

 

출력결과

 

B1 : [2, 3, 6, 1, 0, 5, 0, 7, 0, 9, 0, 7, 0, 0, 0, 0]

B2 : [2, 1, 4, 3, 6, 5, 8, 7, 10, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

B3 : [2, 1, 4, 3, 0, 5, 0, 7, 0, 9, 0, 0, 0, 0]

B4 : [2, 1, 2, 5, 2, 0, 2, 0, 0, 0, 0, 0]

B5 : [4, 0]

B6 : [0, 7]Colored by Color Scripter

cs