Algorithm

[자바 알고리즘 문제풀이] Array 01. 큰 수 출력하기

민뭉아치 2022. 5. 9. 17:44

 Array(배열) 01. 큰 수 출력하기


* 사용 언어 : JAVA

* Inflearn의 자바(Java)알고리즘 문제풀이 : 코딩테스트 대비 강의내용 정리

 

1. 문제

N개의 정수를 입력받아, 자신의 바로 앞 수보다 큰 수만 출력
단, 첫 번째 숫자는 무조건 출력
// 입력
6
7 3 9 5 6 12

// 출력
7 9 6 12

 

2. 풀이

큰 수를 담을 answer 변수는 가변적인 배열인 ArrayList 타입으로 선언한다.

배열의 첫번째 수는 무조건 출력되어야 하기 때문에 answer에 주어진 array의 첫번째 원소가 담진 '0'번째 주소를 담는다. 주어진 N개의 수를 담은 배열을 for문을사용하여 앞 뒤 수를 비교한다.

첫번째 원소는 담았기 때문에 두번째 주소부터 앞의 값과 비교하기 위해 시작을 1로 정의하였다.

if문으로 두 수를 비교후 answer에 담아 출력한다. 

 

3. 코드 

public class Main {
    public List<Integer> solution(Integer[] array) {
        List<Integer> answer = new ArrayList<>();
        answer.add(array[0]);
        for (int i=1; i < array.length; i++) {
            if (array[i-1] < array[i]) {
                answer.add(array[i]);
            }
        }
        return answer;
    }

    public static void main(String[] args) {
        Main T = new Main();
        Scanner scanner = new Scanner(System.in);
        int num = scanner.nextInt();
        Integer[] array = new Integer[num];
        for (int i = 0; i < num; i++) {
            array[i] = scanner.nextInt();
        }
        for (int x : T.solution(array)) {
            System.out.print(x+" ");
        }
    }
}

 

4. Keword

  • List
    • ArrayList