코딩항해기
[과제/JAVA] 멘토시리즈 : 자바 - 06 배열 응용문제 본문
문제 1. 다음 중 배열을 생성하는 방법으로 틀린 것은 무엇일까요?
4번 int[][] arr = new int[][4]
열의 자리인 뒷쪽 []를 비울 수는 있어도, 행의 자리인 앞쪽 []를 비울 수는 없다.
문제 2. 다음 코드의 빈칸을 완성해 주어진 배열에서 짝수만 더하여 합을 구해보세요.
for(int i=0; i<arr.length; i++){
if(arr[i]%2==0){
sum += arr[i];
}
}
문제 3. 철수는 동생과 카드게임을 했습니다. 카드게임에 사용된 카드는 중복되는 숫자 없이 총 10장입니다.
배열과 랜덤 함수를 이용해 철수가 게임에 사용했던 카드를 구해보세요.
카드에 적힌 숫자는 1부터 10이며, 카드는 섞여있으므로 순서는 상관없습니다.
Random rd = new Random();
int[] cards = {2, 1, 3, 5, 4, 6, 9, 7, 8, 10};
int randNum = rd.nextInt(cards.length);
System.out.println("철수가 게임에 사용한 카드는 "+cards[randNum]+"입니다.");
문제 4. 마방진은 숫자가 배열되어 있으며, 가로의 합, 세로의 합, 대각선의 합이 모두 동일하게 설계되어있습니다. 2차원 배열을 이용해 마방진을 구현해보세요.
조건: 배열은 5*5로 합니다. / 시작 위치는 (0, 2)입니다. / 마방진에 들어가는 숫자는 1부터 시작합니다.
int[][] arr = new int[5][5];
int num = 1;
arr[0][2] = num++;
arr[4][3] = num++;
arr[3][4] = num++;
arr[1][1] = num++;
arr[2][1] = num++;
arr[1][2] = num++;
arr[0][3] = num++;
arr[4][4] = num++;
arr[3][0] = num++;
arr[4][0] = num++;
arr[3][1] = num++;
arr[2][2] = num++;
arr[1][3] = num++;
arr[0][4] = num++;
// 여기까지가 15
arr[1][4] = num++;
arr[0][0] = num++;
arr[4][1] = num++;
arr[3][2] = num++;
arr[2][3] = num++;
arr[3][3] = num++;
arr[2][4] = num++;
arr[1][0] = num++;
arr[0][1] = num++;
'problem solving > 문제 풀기' 카테고리의 다른 글
[과제/JAVA] 멘토시리즈 : 자바 - 08 메서드 응용문제 (0) | 2024.07.19 |
---|---|
[과제/JAVA] 멘토시리즈 : 자바 - 07 클래스 응용문제 (0) | 2024.07.18 |
[과제/JAVA] 멘토시리즈 : 자바 - 05 제어문2 응용문제 (0) | 2024.07.16 |
[과제/JAVA] 멘토시리즈 : 자바 - 04 제어문1 응용문제 (0) | 2024.07.15 |
[과제/JAVA] 멘토시리즈 : 자바 - 03 연산자 응용문제 (0) | 2024.07.14 |