알고리즘/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