JAVA/JAVA 멘토시리즈

[JAVA 멘토시리즈] 응용 문제 풀이 (배열)

웹코린이 2023. 5. 22. 12:25
728x90

1. 다음 중 배열을 생성하는 방법으로 틀린 것은 무엇일까요 ?

  1. int[] arr = new int[4];
  2. int arr[] = new int[4];
  3. int arr[] = {1, 2, 3, 5};
  4. int[][] arr = new int [][4];

 

더보기

보기 2) 배열 선언 시 대괄호는 자료형 옆에 붙혀주어야 하므로 변수명 옆에 붙힌 2번은 틀림.

 

2. 다음 코드의 빈칸을 완성해 주어진 배열에서 짝수만 더하여 합을 구해보세요.

package section06;

public class ArrayExample {
	public static void main(String[] args) {
    	
        int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
        int sum = 0;
        
        for(int i = 0; i < arr.length; i++) {
        	
            // ???
            
        }
        
        System.out.println("짝수들의 합 : " + sum);
    }
}

 

더보기

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

     sum += arr[i];

}

 

3. 철수는 동생과 카드 게임을 했습니다. 카드 게임에 사용된 카드는 중복되는 숫자 없이 총 10장입니다. 배열과 랜덤 함수를 이용해 철수가 게임에 사용했던 카드를 구해보세요. 카드에 적힌 숫자는 1부터 10이며, 카드는 섞여있으므로 순서는 상관없습니다.

                         ②    ①    ③    ⑤    ④   

                         ⑥    ⑨    ⑦    ⑧    ⑩

 

package class06;

import java.util.Random;

public class Test02 {
	public static void main(String[] args) {
		Random rand = new Random();  // 랜덤 함수 생성
		int[] arData = new int[10];	 // 10칸 배열 생성
		
		for (int i = 0; i < arData.length; i++) {  // 배열의 길이 만큼 반복
			arData[i] = rand.nextInt(10) + 1;  // 1 ~ 10 랜덤 수 생성
			
			for(int j = 0; j < i; j++) {  // 중복이 있는 지 확인하기 위한 반복문 생성
				if(arData[i] == arData[j]) {  // 만약 지금 생성된 숫자와 이전 숫자가 같다면
					i--; // 랜덤 수 다시 생성
				}
			}
		}
		for (int k = 0; k < arData.length; k++) { // 배열 출력하기 위한 반복문
			System.out.print(arData[k] + " ");
		}
	}
}

 

728x90