[설명]
N개의 정수를 입력받아, 자신의 바로 앞 수보다 큰 수만 출력하는 프로그램을 작성하세요.
(첫 번째 수는 무조건 출력한다)
[입력]
첫 줄에 자연수 N(1<=N<=100)이 주어지고, 그 다음 줄에 N개의 정수가 입력된다.
[출력]
자신의 바로 앞 수보다 큰 수만 한 줄로 출력한다.
[예시]
[문제 풀이]
public class Main {
private static ArrayList<Integer> solution(int n, int[] arr) {
ArrayList<Integer> answer = new ArrayList<>();
answer.add(arr[0]);
for (int i = 1; i < n; i++) {
if (arr[i] > arr[i - 1]) { // 뒤의 수가 앞의 수보다 클 경우
answer.add(arr[i]);
}
}
return answer;
}
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
int n = kb.nextInt();
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = kb.nextInt();
}
for (int x : solution(n, arr)) {
System.out.print(x + " ");
}
}
}
Scanner
변수를 선언하고, 받아온 정수(처음에 입력받은 개수)를 int
형 변수 n
에 넣는다.n
개 만큼의 int
형 배열을 만들고, 대입한다.for
문을 사용하여 키보드로 입력받은 n
개의 숫자를 arr
배열에 각각의 인덱스에 저장한다.