본문으로 바로가기
728x90
반응형

▷ 문제

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

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

* 입력

첫 줄에 자연수 N(1<=N<=100)이 주어지고, 그 다음 줄에 N개의 정수가 입력된다.

* 출력

자신의 바로 앞 수보다 큰 수만 한 줄로 출력한다.

▷ 입력 예시

6

7 3 9 5 6 12

▷ 출력 예시

7 9 6 12

▷ 풀이

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {
    public List<Integer> solution(int n, int[] nArr){
        List<Integer> answer = new ArrayList<Integer>();

        for (int i = 0; i < nArr.length; i++) {
            if(i == 0){
                answer.add(nArr[i]);
            } else{
                if(nArr[i] > nArr[i-1]){
                    answer.add(nArr[i]);
                }
            }
        }

        return answer;
    }

    public static void main(String[] args) {
        Main main = new Main();
        Scanner kb = new Scanner(System.in);
        int n = kb.nextInt();
        int[] nArr = new int[n];
        for (int i = 0; i < n; i++) {
            nArr[i] = kb.nextInt();
        }

        for (int x : main.solution(n, nArr)) {
            System.out.print(x + " ");
        }
    }
}
반응형