네이버클라우드 캠프 | BE/Java 과제

[네이버클라우드 캠프/1주차] 배열의 출력

three kim 2023. 3. 22. 17:55
728x90

3/16(목) 네이버클라우드 캠프 5일 차에 풀이한 배열의 출력과 관련된 문제에 대한 풀이를 정리하려고 합니다.

처음에 문제를 잘못 이해했던 터라 정리하는 게 좋을 듯하여.. 글 시작합니다! (애들 수학은 어떻게 가르쳤니..)

 

문제 : 배열을 출력하세요.

20개의 배열을 선언하고, 20개의 값을 난수를 이용하여 0~100까지의 값으로 채워 넣으세요.

인덱스의 홀수번째(1, 3, 5.. 19)는 앞부터 출력하고
인덱스의 짝수번째(0, 2, 4.. 18)는 뒤부터 출력하세요.

 

문제의 순서대로 따라가면 됩니다!

1. 배열 선언 및 배열 내 난수 값 대입 + 기존 배열 확인하기

public class Main {
    public static void main(String[] args) {
        int[] arr = new int[20];			// 배열 선언
        for (int i = 0; i < arr.length; i++) {
            arr[i] = (int) (Math.random() * 101);	// 범위 : 0 ` 100
        }
        System.out.print("기존 배열 : ");		// 난수로 출력된 배열 확인
        for(int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }
    }
}
<출력>
기존 배열 : 27 2 100 4 44 80 61 79 41 25 46 32 37 64 36 94 29 80 72 27

 

2. 인덱스의 홀수번째(1, 3, 5.. 19) 출력 (앞부터)!

public class Main {
    public static void main(String[] args) {
        int[] arr = new int[20];
        for (int i = 0; i < arr.length; i++) {
            arr[i] = (int) (Math.random() * 101);
        }

        System.out.print("기존 배열 : ");
        for(int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }

        System.out.print("\n변경 배열 : ");
        for (int i = 0; i < arr.length; i++) {
            if (i % 2 != 0) {
                System.out.print(arr[i] + " "); // i(인덱스)를 2로 나눴을 때, 1이 나오는 홀수번째 인덱스 출력
            }
        }
    }
}
<출력>
기존 배열 : 27 2 100 4 44 80 61 79 41 25 46 32 37 64 36 94 29 80 72 27
변경 배열 : 2 4 80 79 25 32 64 94 80 27

 

3. 인덱스의 짝수번째(0, 2, 4.. 18) 출력 (뒤부터)!

public class Main {
    public static void main(String[] args) {
        int[] arr = new int[20];
        for (int i = 0; i < arr.length; i++) {
            arr[i] = (int) (Math.random() * 101);
        }

        System.out.print("기존 배열 : ");
        for(int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }

        System.out.print("\n변경 배열 : ");
        for (int i = 0; i < arr.length; i++) {
            if (i % 2 != 0) {
                System.out.print(arr[i] + " ");
            }
        }

        for (int i = 19; i >= 0; i--) {
            if (i % 2 == 0) {
                System.out.print(arr[i] + " "); // i(인덱스)를 2로 나눴을 때, 0이 나오는 짝수번째 인덱스 출력
            }
        }
    }
}
<출력>
기존 배열 : 27 2 100 4 44 80 61 79 41 25 46 32 37 64 36 94 29 80 72 27
변경 배열 : 2 4 80 79 25 32 64 94 80 27 72 29 36 37 46 41 61 44 100 27

 

<최종 소스코드>

public class Main {
    public static void main(String[] args) {
        int[] arr = new int[20];
        for (int i = 0; i < arr.length; i++) {
            arr[i] = (int) (Math.random() * 101);
        }

        System.out.print("기존 배열 : ");
        for(int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }

        System.out.print("\n변경 배열 : ");
        for (int i = 0; i < arr.length; i++) {
            if (i % 2 != 0) {
                System.out.print(arr[i] + " ");
            }
        }

        for (int i = 19; i >= 0; i--) {
            if (i % 2 == 0) {
                System.out.print(arr[i] + " ");
            }
        }
    }
}