알고리즘/인프런_자바코테강의

인프런 13. 큰 수 출력하기 (Java)

고구마와 감자 2022. 3. 30. 14:15

 

내 풀이

 

import java.util.Scanner;

public class Main {

    public void solution(int[] arr) {
        StringBuilder sb = new StringBuilder();
        sb.append(arr[0]).append(" ");
        for (int i = 0; i < arr.length- 1; i++) {
            if (arr[i] < arr[i+1]) {
                sb.append(arr[i+1]).append(" ");
            }
        }
        System.out.println(sb);
    }

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

 

강사님 풀이

내가 푼거랑 거의 비슷함. 

public class Main2 {
    // 강사님 풀이
    public ArrayList<Integer> solution(int n, int[] arr) {
        ArrayList<Integer> answer = new ArrayList<>();
        answer.add(arr[0]);
        for (int i = 1; i < arr.length; i++) {
            if (arr[i-1] < arr[i]) {
                answer.add(arr[i]);
            }
        }
        return answer;
    }

    public static void main(String[] args) {
        Main2 T = new Main2();
        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 i : T.solution(n, arr)) {
            System.out.print(i + " ");
        }
    }
}