문제 풀이는 입력으로 횟수와, 첨탑 배열을 받아 첨탑을 미는 최소 횟수를 구해야 하는데, 미는 첨탑이 값이 다음 값보다 작다면 한 번 미는 것으로 다음 값들을 밀어버릴 수 있지만, 크거나 동일하다면 한 번에 밀어버릴 수 없다
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int count = Integer.parseInt(br.readLine());
int[] array = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();
int ans = 1;
for (int i = 1; i < array.length; i++) {
if (array[i - 1] <= array[i]) {
ans++;
}
}
System.out.println(ans);
}
}
문제를 풀어보자면 값을 받아서 최소 한 번은 무조건 밀어야 하므로, 1부터 시작한 뒤 이전 값이 현재 값보다 작거나 같다면 +1씩 해주면서 배열을 모두 돌려준 뒤
계산한 값을 출력해주면 끝이다
Leave a Reply