728x90
언어_자바
문제
선생님이 N명의 학생을 일렬로 세웠습니다. 일렬로 서 있는 학생의 키가 앞에서부터 순서대로 주어질 때, 맨 앞에 서 있는 선생님이 볼 수 있는 학생의 수를 구하는 프로그램을 작성하세요. (앞에 서 있는 사람들보다 크면 보이고, 작거나 같으면 보이지 않습니다.)
예시 입출력
입력 )
8
130 135 148 140 145 150 150 153
출력 )
5
import java.util.Scanner;
public class Test2 {
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();
}
int cnt = 1, max=arr[0];
for(int j=1; j<n; j++){
if(arr[j]>max){
cnt++;
max= arr[j];
}
}
System.out.println(cnt);
}
}
문제 풀이 TIP
max 최댓값을 활용하자!
1 ) 앞에 학생은 무조건 보이기에 cnt = 1로 초기화 한다.
2 ) 반복문을 돌면서 max 값(=최댓값) 보다 크다면 그 다음 max 값으로 초기화 해주는 작업을 한다.
3 ) cnt 도 1씩 증가 시켜준다.
문제 출처)
인프런_자바(JAVA) 알고리즘 문제풀이 입문
728x90
'Algorithm' 카테고리의 다른 글
[프로그래머스] (181894) 2의 영역 (0) | 2024.01.19 |
---|---|
[inflearn] 등수 구하기 (0) | 2024.01.18 |
[inflearn] 숫자만 추출 (0) | 2024.01.18 |
[inflearn] 뒤집은 소수 (1) | 2024.01.10 |
[inflearn] 피보나치 수열 (0) | 2024.01.10 |