https://www.acmicpc.net/problem/1668
❗주의할 점
반복문을 돌며 현재 트로피가 이전 트로피의 높이보다 작다고 반복문을 멈추면 안된다!
그 뒤에 현재 보이는 트로피보다 더 높은 트로피가 존재할 수 있어서 max변수를 업데이트하면서 max값과 현재 트로피의 높이를 비교하며 모든 트로피에 대해 탐색을 해야한다.
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int num = Integer.parseInt(br.readLine());
int[] arr = new int[num];
int count = 0;
int max = 0;
// 값을 배열에 추가하며 왼쪽에서 봤을때 보이는 개수 카운트
for (int i=0; i<num; i++) {
arr[i] = Integer.parseInt(br.readLine());
if (i == 0) {
max = arr[i];
count++;
continue;
}
if (max < arr[i]) {
max = arr[i];
count++;
}
}
bw.write(count+"\n");
// 오른쪽에서 봤을 때 보이는 개수 카운트
count = 1;
max = arr[num-1];
for (int i=num-2; i>=0; i--) {
if (max < arr[i]) {
max = arr[i];
count++;
}
}
bw.write(count+"\n");
bw.flush();
bw.close();
}
}