알고리즘/JAVA

[JAVA] 13. 큰 수 출력하기

수진보배 2021. 4. 20. 17:56
728x90

설명

 

N개의 정수를 입력받아, 자신의 바로 앞 수보다 큰 수만 출력하는 프로그램을 작성하세요.

(첫 번째 수는 무조건 출력한다)

 

예시 입력 1 

6 7 3 9 5 6 12

 

예시 출력 1

7 9 6 12

 

 

풀이

 

import java.util.*;

public class Main  {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);
        
        //이 풀이에서는 사용하지 않음
        int size = Integer.parseInt(in.nextLine());
        
        String[] arr = in.nextLine().split(" ");

        List<Integer> list = new ArrayList<>();

        int max = Integer.MIN_VALUE;
        for(int i=0; i<arr.length; i++){
            int num = Integer.parseInt(arr[i]);
            if(num > max){
                list.add(num);
            }
            max = num;
        }

        for (Integer integer : list) {
            System.out.print(integer + " ");
        }

    }
}

 

 

다른 풀이

 

import java.util.*;

public class Main  {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);
        
        int size = Integer.parseInt(in.nextLine());
        int[] arr = new int[size];
        
        for(int i=0; i<size; i++){
            arr[i] = in.nextInt();
        }

        List<Integer> list = new ArrayList<>();

        list.add(arr[0]);
        for(int i=1; i<size; i++){
            if(arr[i] > arr[i-1]) {
                list.add(arr[i]);
            }
        }

        for (Integer integer : list) {
            System.out.print(integer + " ");
        }

    }
}
728x90