2-2 보이는 학생 (Java)

정우·2022년 9월 28일

✏️ 문제


설명

선생님이 N명의 학생을 일렬로 세웠습니다. 일렬로 서 있는 학생의 키가 앞에서부터 순서대로 주어질 때, 맨 앞에 서 있는

선생님이 볼 수 있는 학생의 수를 구하는 프로그램을 작성하세요. (앞에 서 있는 사람들보다 크면 보이고, 작거나 같으면 보이지 않습니다.)

입력

첫 줄에 정수 N(5<=N<=100,000)이 입력된다. 그 다음줄에 N명의 학생의 키가 앞에서부터 순서대로 주어진다.

출력

선생님이 볼 수 있는 최대학생수를 출력한다.

예제입력 8 130 135 148 140 145 150 150 153
예제출력 5


✏️ 코드

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] arr = new int[n];
        
        for (int i=0; i<n; i++) {
            arr[i] = sc.nextInt();
        }
        
        System.out.println(solution(arr));

    }
    
    public static int solution(int[] arr) {
        int answer = 1;
        int max = arr[0];
        
        for (int i=1; i<arr.length; i++) {
            if (arr[i] > max) {
                answer++;
                max = arr[i];
            }
        }
        return answer;
    }
}

제일 큰 값을 arr[0] 으로 지정하고 더 큰 값이 생기면 새로 할당하는 식으로 반복하여 찾았다.

혹은 Integer.MAX_VALUE or Integer.MIN_VALUE 를 사용해도 될 것 같다.


profile
That's it

0개의 댓글