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

[Java Festival] 24. N개의 숫자 중 X보다 작은 수만 출력하기

by 제이투더문 2024. 7. 4.

 

 안녕하세요, 작가 J입니다. 이번에는 주어진 정수 배열에서 특정 값보다 작은 수를 출력하는 프로그램을 작성해 보겠습니다. 이 예제는 배열과 조건문을 활용하는 방법을 이해하는 데 도움이 됩니다.

 

[Java Festival 24] N개의 숫자 중 X보다 작은 수만 출력하기

  • N과 X를 입력 받는다.
  • N개의 정수를 입력 받는다.
  • N개의 숫자 중 X보다 작은 수만 출력한다.

 

 

 

코드 풀이 1: N크기의 배열에 값 넣고 출력하기

package Ex;

import java.util.Scanner;

public class Ex24 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        // N과 X를 입력받기
        System.out.print("N 입력 >> ");
        int n = sc.nextInt();
        System.out.print("X 입력 >> ");
        int x = sc.nextInt();
        
        // N개의 정수를 입력받기
        int[] array = new int[n];
        for (int i = 0; i < n; i++) {
            System.out.print((i + 1) + "번째 정수 입력 >> ");
            array[i] = sc.nextInt();
        }
        
        // X보다 작은 수만 출력
        System.out.print("결과 >> ");
        for (int i : array) {
            if (i < x) {
                System.out.print(i + " ");
            }
        }
        sc.close();
    }
}

 

1. N과 X를 입력받기

  • System.out.print("N 입력 >> ");
  • System.out.print("X 입력 >> ");
  • 사용자가 입력한 값을 n과 x에 저장합니다.

2. N개의 정수를 입력받기

  • int[] array = new int[n];
  • for (int i = 0; i < n; i++) { ... }
  • 배열에 사용자가 입력한 n개의 정수를 저장합니다.

3. X보다 작은 수만 출력

  • for (int i : array) { ... }
  • 배열을 순회하며 i < x 조건을 만족하는 값을 출력합니다.

 

코드 풀이 2:  결과를 저장할 배열을 만든다

package Ex;

import java.util.Scanner;

public class Ex24Alternative {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        // N과 X를 입력받기
        System.out.print("N 입력 >> ");
        int n = sc.nextInt();
        System.out.print("X 입력 >> ");
        int x = sc.nextInt();
        
        // N개의 정수를 입력받기
        int[] array = new int[n];
        for (int i = 0; i < n; i++) {
            System.out.print((i + 1) + "번째 정수 입력 >> ");
            array[i] = sc.nextInt();
        }
        
        // 결과를 저장할 배열 초기화
        int[] result = new int[n];
        int count = 0;
        
        // X보다 작은 수를 결과 배열에 저장
        for (int i = 0; i < n; i++) {
            if (array[i] < x) {
                result[count++] = array[i];
            }
        }
        
        // 결과 출력
        System.out.print("결과 >> ");
        for (int i = 0; i < count; i++) {
            System.out.print(result[i] + " ");
        }
        sc.close();
    }
}

 

 

1. 결과를 저장할 배열 초기화

  • int[] result = new int[n];
  • int count = 0;: 결과 배열의 인덱스를 추적하는 변수입니다.

2. X보다 작은 수를 결과 배열에 저장

  • for (int i = 0; i < n; i++) { ... }
  • 배열을 순회하며 array[i] < x 조건을 만족하는 값을 결과 배열에 저장하고, count를 증가시킵니다.

3. 결과 출력

  • for (int i = 0; i < count; i++) { ... }
  • 결과 배열을 순회하며 값을 출력합니다.

 

마무리

 이번 예제에서는 주어진 정수 배열에서 특정 값보다 작은 수를 출력하는 두 가지 방법을 다뤄보았습니다. 첫 번째 방법은 기본 배열을 사용한 방식이며, 두 번째 방법은 결과를 저장할 배열을 추가로 사용하여 더 명확하게 출력하는 방식입니다. 두 가지 방법 모두 이해하시는데 도움이 되길 바랍니다.

 

 프로그래밍을 시작하는 모든 분께 이 예제가 도움이 되길 바랍니다. 앞으로도 다양한 유형의 문제를 통해 여러분의 학습을 도울 수 있도록 노력하겠습니다. 감사합니다!