본문 바로가기
프로그래밍 기초/Java Festival

[Java Festival] 12. N * N 배열에 숫자를 세로로 증가시키며 저장하고 출력하기

by 제이투더문 2024. 6. 25.

 

 안녕하세요, 작가 J입니다. 이번에는 정수 N을 입력받아 N * N 배열에 숫자를 세로로 증가시키며 저장하고 출력하는 프로그램을 작성해 보겠습니다. 이 예제는 2차원 배열을 다루는 방법과 반복문을 활용하여 배열에 값을 채우고 출력하는 방법을 익히는 데 도움이 될 것입니다.

 

[Java Festival 12] N * N 배열에 숫자를 세로로 증가시키며 저장하고 출력하기

정수 N을 입력받아 N * N 배열에 다음과 같이 숫자를 저장하고 출력하시오.

 

 

 

코드 풀이

이번 문제를 해결하기 위한 자바 코드를 작성해 보겠습니다.

 

import java.util.Scanner;

public class Ex12 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        System.out.print("정수 N을 입력하세요: ");
        int N = sc.nextInt();
        
        int[][] array = new int[N][N];
        int number = 1;
        
        // 배열에 숫자 채우기
        for (int col = 0; col < N; col++) {
            for (int row = 0; row < N; row++) {
                array[row][col] = number++;
            }
        }
        
        // 배열 출력하기
        for (int row = 0; row < N; row++) {
            for (int col = 0; col < N; col++) {
                System.out.print(array[row][col] + " ");
            }
            System.out.println();
        }
        
        sc.close();
    }
}

 

코드 설명

1. 사용자 입력 받기

사용자로부터 정수 N을 입력받습니다.

Scanner sc = new Scanner(System.in);
System.out.print("정수 N을 입력하세요: ");
int N = sc.nextInt();
  • Scanner sc = new Scanner(System.in);: Scanner 객체를 생성하여 사용자 입력을 받습니다.
  • System.out.print("정수 N을 입력하세요: ");: 사용자에게 입력을 요청하는 메시지를 출력합니다.
  • int N = sc.nextInt();: 사용자가 입력한 정수를 변수 N에 저장합니다.

2. 배열 선언 및 초기화

N * N 크기의 2차원 배열을 선언하고 초기화합니다.

int[][] array = new int[N][N];
int number = 1;
  • int[][] array = new int[N][N];: N * N 크기의 2차원 배열을 선언합니다.
  • int number = 1;: 배열에 채울 숫자를 초기화합니다.

3. 배열에 숫자 채우기

2차원 배열에 숫자를 순서대로 채웁니다. 각 열(column)을 순회하면서 행(row)을 따라 값을 넣습니다.

for (int col = 0; col < N; col++) {
    for (int row = 0; row < N; row++) {
        array[row][col] = number++;
    }
}
  • for (int col = 0; col < N; col++): 열(column)을 순회하는 반복문입니다.
  • for (int row = 0; row < N; row++): 행(row)을 순회하는 반복문입니다.
  • array[row][col] = number++: 배열의 해당 위치에 숫자를 저장하고, 숫자를 1 증가시킵니다.

4. 배열 출력하기

2차원 배열에 저장된 값을 출력합니다.

for (int row = 0; row < N; row++) {
    for (int col = 0; col < N; col++) {
        System.out.print(array[row][col] + " ");
    }
    System.out.println();
}
  • for (int row = 0; row < N; row++): 행(row)을 순회하는 반복문입니다.
  • for (int col = 0; col < N; col++): 열(column)을 순회하는 반복문입니다.
  • System.out.print(array[row][col] + " ");: 배열의 해당 값을 출력합니다.
  • System.out.println();: 행(row)이 끝날 때마다 줄 바꿈을 합니다.

마무리

이번 예제에서는 정수 N을 입력받아 N * N 배열에 숫자를 세로로 증가시키며 저장하고 출력하는 방법을 배웠습니다. 이를 통해 2차원 배열을 다루는 기초적인 방법과 반복문을 활용하여 배열에 값을 채우는 방법을 익힐 수 있었습니다.

 

 프로그래밍에서 2차원 배열을 효율적으로 다루는 능력은 매우 중요합니다. 특히 이번 예제처럼 간단한 문제를 해결하면서도 배열과 반복문의 사용법을 익히는 것은 실무에서도 유용하게 쓰일 수 있습니다. 다양한 문제를 풀어보며 실력을 키워나가길 바랍니다. 감사합니다!