문제
https://www.acmicpc.net/problem/1668
풀이(4분)
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int[] arr = new int[n];
for(int i = 0; i < n; i++){
arr[i] = Integer.parseInt(br.readLine());
}
int leftMax = 0;
int leftCount = 0;
int rightMax = 0;
int rightCount = 0;
for(int i = 0; i < n; i++){
if(arr[i] > leftMax){
leftMax = arr[i];
leftCount++;
}
if(arr[n-i-1] > rightMax){
rightMax = arr[n-i-1];
rightCount++;
}
}
System.out.println(leftCount);
System.out.println(rightCount);
}
}
문제 풀이 전략
N의 범위가 50까지이므로 단순하게 배열을 저장한 뒤 좌우에서 최댓값을 추적하며, 갱신될 때만 +1 해주는 방식을 선택했다.
'문제 풀이 > 백준' 카테고리의 다른 글
[백준] 15779번. Zigzag(JAVA) (0) | 2025.07.01 |
---|---|
[백준] 1967번. 트리의 지름(JAVA) (0) | 2025.07.01 |
[백준] 1622번. 공통 순열(JAVA) (1) | 2025.06.28 |
[백준] 2411번. 아이템 먹기(JAVA) (1) | 2025.06.26 |
[백준] 17484번. 진우의 달 여행 (Small)(JAVA) (2) | 2025.06.25 |