본문 바로가기

Algorithm/Inflearn

[Inflearn] 자바 알고리즘 문제풀이 #02-01 1. 큰 수 출력하기

문제

설명

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

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

 

입력 

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

 

출력 

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

 

 

 

내 풀이 = 선생님 풀이
import java.util.ArrayList;
import java.util.Scanner;

public class Main2_1 {
    public ArrayList<Integer> Solution(int n, int[] arr) {
        ArrayList<Integer> al = new ArrayList<>();
        al.add(arr[0]);
        for (int i = 1; i < n; i++) {
            if(arr[i] > arr[i-1]) al.add(arr[i]);
        }
        return al;
    }

    public static void main(String[] args) {
        Main2_1 T = new Main2_1();
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] arr = new int[n];
        for (int i = 0; i < n; i++) {
            arr[i] = sc.nextInt();
        }
        for(int x : T.Solution(n, arr)) {
            System.out.print(x + " ");
        }
    }
}

 

 

 

결과

 

 

 

알게된 점

1. ArrayList

https://rookie-programmer.tistory.com/13

 

[JAVA] 자바 ArrayList

설명 배열(Array)과 같이 데이터들을 순서대로 관리하는 저장 공간입니다. Array와 ArrayList의 공통점은 배열과 ArrayList 모두 같은 타입의 데이터들을 저장할 수 있습니다. Array와 ArrayList의 차이점은 A

rookie-programmer.tistory.com

 

 

ArrayList 존재 자체도 몰랐던 코린이, 알린이였는데 이제 제법 다루기에 익숙해진 느낌...!

그리고 선생님 강의 맞춰서 코드 연습하고 틀리면 참고하다 보니 내 코드가 선생님 코드화(?) 되고 있는 것 같다.

이번 문제는 좀 쉬워서 다 풀고 비교해 보는데 아예 똑같아서 좀 놀램ㅎㅎㅋ