728x90
안녕하세요. 개발자 엄탱입니다.
이 글은 알고리즘을 공부하면서 공부 기록용입니다.
그래서 설명마다 일기용으로 편하게 작성하여 반말 형식으로 작성하려고 합니다.
그리고 보시다가 더 좋은 방법이나 잘 못 알고 있는 내용이 있다면 알려주시면 정말 감사하겠습니다.
좋은 하루 되세요 :)
https://www.acmicpc.net/problem/2491
문제 설명
문제는 잘 읽어보면 알아서 이해가 되니 위에 문제를 천천히 읽어보기를 추천하겠다.
해설
위에 문제는 연속해서 커지거나 연속해서 작아지는 수열중 길이가 긴 것을 찾아 내는 문제이기 때문에 두번의 확인이 필요하다.
- 처음 수 부터 시작하여 마지막 수 까지 탐색하여 오름차순 길이를 파악하여 긴 길이를 찾기
- 처음 수 부터 시작하여 마지막 수 까지 탐색하여 내림차순 길이를 파악하여 긴 길이를 찾기
코드
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine());
int[] arr = new int[N];
for (int i = 0; i < N; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
int maxCount = 1;
int count = 1;
for (int i = 1; i < N; i++) {
if (arr[i - 1] <= arr[i]) {
count++;
maxCount = Math.max(maxCount, count);
} else {
count = 1;
}
}
count = 1;
for (int i = 1; i < N; i++) {
if (arr[i - 1] >= arr[i]) {
count++;
maxCount = Math.max(maxCount, count);
} else {
count = 1;
}
}
System.out.println(maxCount);
br.close();
}
}
728x90
'알고리즘 > 다이나믹프로그래밍' 카테고리의 다른 글
[자바]백준 13699번 점화식[다이나믹 프로그래밍][엄탱] (2) | 2023.03.02 |
---|---|
[자바]백준 2670번 연속부분최대곱 [다이나믹프로그래밍][엄탱] (5) | 2023.03.01 |
[자바]백준 9656번 돌 게임2 [다이나믹프로그래밍][엄탱] (3) | 2023.03.01 |
[자바]백준 14916번 거스름돈[다이나믹프로그래밍][엄탱] (6) | 2023.02.28 |
[자바]백준 9625번 BABBA [다이나믹프로그래밍][엄탱] (6) | 2023.02.28 |