<2.1> 큰 수 출력하기

mutexlocking·2022년 7월 13일
0

문제
: N개의 정수를 입력받아 , 그 중 자신의 바로 앞 정수보다 더 큰 정수만 출력하라
(단 첫 번째 정수는 무조건 출력)

이 문제는 요구사항과 해결로직을 따로 정리할 필요가 없을 만큼 간단한 문제였다.
단순히 정수를 입력받아 배열에 넣고 -> 배열을 순차 탐색 하면서 문제에서 주어진 대로 arr[i] 보다 더 큰 arr[i+1]을 출력하면 되는 문제였다. (인덱스 범위 넘어가지 않게 조심)

오히려 c로만 문제를 풀던 나에게는 정수 여러개를 입력받는 부분에서 흠칫 했는데,
다행이도 기존의 c에서 배열을 동적할당 받아 사용하던 나의 습관 처럼,
JAVA에서는 입력한 N만큼의 size를 갖는 빈 배열 객체를 생성한 후 ,
마찬가지로 for문을 돌면서 인덱스를 통해 각 element를 채우는 방식으로 콘솔 입력을 받을 수 있었다.

어쨌든 내가 구현한 코드는 아래와 같다.

import java.util.Scanner;

public class Main {

    public static void solution(int[] arr, int N){

        System.out.print(arr[0] + " ");

        for(int i=0; i<N-1; i++){
            if(arr[i] < arr[i+1])
                System.out.print(arr[i+1] + " ");
        }
    }

    public static void main(String[] args){
        //0. Scanner 준비
        Scanner sc = new Scanner(System.in);

        //1. 자연수 개수와 , 자연수 N개를 입력
        int N = sc.nextInt();

        int[] arr = new int[N];
        for(int i=0; i<N; i++){
            arr[i] = sc.nextInt();
        }

        //2. 입력받은 N개의 자연수를 solution()의 인자로 넘기면서 호출하여 -> 문제에서 요구하는 결과를 출력
        solution(arr, N);
    }
}
profile
개발자가 되고자 try 하는중

0개의 댓글