코딩일기/자격증

[정보처리기사] [ Java ] 2차원 배열 | 정보처리기사 실기 기출 문제 풀이

jhy_2023 2024. 12. 20. 09:47
728x90
반응형

2021년 1회 정보처리기사 실기 기출문제

문제

다음 Java 프로그램의 실행 결과를 쓰시오.

public class good {
    public static void main(String[] args) {
        int[][] arr = new int[][]{{45, 50, 75}, {89}};
        System.out.println(arr[0].length);
        System.out.println(arr[1].length);
        System.out.println(arr[0][0]);
        System.out.println(arr[0][1]);
        System.out.println(arr[1][0]);
    }
}

정답

3
1
45
50
89
반응형

해설

📌 기본 개념

1️⃣ 2차원 배열

2차원 배열은 배열 안에 또 다른 배열을 포함하는 형태의 배열입니다. 2차원 배열은 행(row)과 열(column)의 구조로 데이터를 저장합니다.

// 2차원 배열 선언 기본 형식
데이터타입[][] 배열이름 = new 데이터타입[행의 개수][열의 개수];
// 예시
int[][] arr1 = new int[2][3]; // 2행 3열 배열 생성

// 선언과 동시에 초기값 설정
데이터타입[][] 배열이름 = {{초기값1, 초기값2}, {초기값3, 초기값4}};
// 예시
int[][] arr2 = {{1, 2}, {3, 4}};

위 예시 코드는 다음과 같은 구조를 가집니다 :

arr2[0]: {1, 2}
arr2[1]: {3, 4}

2차원 배열의 각 행의 열 개수는 달라도 되므로, 비정형적인 배열도 가능합니다. 이를 가변 배열이라고 부릅니다.

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

위 배열은 첫 번째 행에는 3개의 열, 두 번째 행에는 1개의 열을 포함합니다.

2️⃣ length 속성

  • 배열이름.length는 해당 배열의 **1차원 배열의 길이(요소 개수)**를 반환합니다.
  • 2차원 배열에서는 배열이름[행번호].length를 사용하여 특정 행의 열 개수를 알 수 있습니다.
// 1차원 배열 예시
int[] arr1D = {5, 10, 15};

System.out.println(arr1D.length); // 출력: 3 (요소 개수)
// 2차원 배열 예시
int[][] arr = {{10, 20, 30}, {40, 50}};

System.out.println(arr.length);       // 출력: 2 (행의 개수)
System.out.println(arr[0].length);    // 출력: 3 (첫 번째 행의 열 개수)
System.out.println(arr[1].length);    // 출력: 2 (두 번째 행의 열 개수)

3️⃣ println 메서드

문제에서는 System.out.println() 메서드를 사용하고 있지만, 유사한 메서드인 System.out.print()도 자주 활용됩니다. 이 두 메서드의 차이를 이해하면 다양한 출력 방식에 유연하게 대응할 수 있습니다.

System.out.println("Hello");
System.out.println("World");
// 출력: 
// Hello
// World
  • 출력 결과를 표준 출력으로 나타냅니다.
  • 출력 후 줄 바꿈(new line)이 추가됩니다
System.out.print("Hello ");
System.out.print("World");
// 출력: Hello World
  • 출력 후 줄 바꿈 없이 동일한 줄에 출력합니다.
  • 여러 출력을 한 줄에 이어서 표시할 때 유용합니다.
728x90

📌 문제 코드 해설

int[][] arr = new int[][]{{45, 50, 75}, {89}};
  • arr[0]: {45, 50, 75} (길이: 3)
  • arr[1]: {89} (길이: 1)

라인별 실행 결과:

System.out.println(arr[0].length); // 출력: 3
System.out.println(arr[1].length); // 출력: 1
System.out.println(arr[0][0]);     // 출력: 45
System.out.println(arr[0][1]);     // 출력: 50
System.out.println(arr[1][0]);     // 출력: 89
  1. arr[0].length
    • arr[0]은 {45, 50, 75}이므로, 길이는 3입니다.
  2. arr[1].length
    • arr[1]은 {89}이므로, 길이는 1입니다.
  3. arr[0][0]
    • arr[0]의 첫 번째 요소는 45입니다.
  4. arr[0][1]
    • arr[0]의 두 번째 요소는 50입니다.
  5. arr[1][0]
    • arr[1]의 첫 번째 요소는 89입니다.

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

728x90
반응형