Array(1, 2차원 배열) - 0202. 보이는 학생
private static int solution(int n, String str) {
int answer = 1, tall;
String[] students = str.split(" ");
tall = Integer.parseInt(students[0]);
for(int i=0; i<n; i++) {
if(Integer.parseInt(students[i]) > tall) {
tall = Integer.parseInt(students[i]);
answer += 1;
}
}
return answer;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = Integer.parseInt(sc.nextLine());
String str = sc.nextLine();
System.out.println(solution(n, str));
}
public int solution(int n, int[] arr){
int answer=1, max=arr[0];
for(int i=1; i<n; i++){
if(arr[i]>max){
max=arr[i];
answer++;
}
}
return answer;
}
public static void main(String[] args){
Main T = new Main();
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();
}
System.out.print(T.solution(n, arr));
}
입력 정수의 갯수가 최대 10만개로, 의 시간 복잡도를 갖는 2중 For문은
연산 시간이 초가되어 문제 해결이 어렵다. 따라서, 가장 큰 키의 값을 따로 보관하여,
1번만 순회하도록 구현한다.