https://www.acmicpc.net/problem/17608
17608번: 막대기
아래 그림처럼 높이만 다르고 (같은 높이의 막대기가 있을 수 있음) 모양이 같은 막대기를 일렬로 세운 후, 왼쪽부터 차례로 번호를 붙인다. 각 막대기의 높이는 그림에서 보인 것처럼 순서대로
www.acmicpc.net
저는 구현을 통해 문제를 해결하였습니다.
오른쪽에서 보이는 것은 이전에 보인 기둥 보다 커야 보이기 때문에 이전에 가장 큰 기둥의 길이보다 크다면 cnt늘리주고 마지막에 이 값을 출력하였습니다.
package BOJ.etc;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.function.Function;
public class BOJ_17608 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int[] input = new int[n];
for(int i = 0 ; i < n ; i++){
input[i] = Integer.parseInt(br.readLine());
}
int cnt = 0;
int max = 0;
for(int i = n -1 ; i >= 0 ; i--){
if(max < input[i]){
cnt++;
max = input[i];
}
}
System.out.println(cnt);
}
}
'알고리즘' 카테고리의 다른 글
백준 2851번 슈퍼 마리오 (JAVA) (1) | 2023.05.16 |
---|---|
백준 18404번 현명한 나이트 (JAVA) (0) | 2023.05.14 |
백준 3986번 좋은 단어 (JAVA) (0) | 2023.05.12 |
백준 16401번 과자 나눠주기 (JAVA) (1) | 2023.05.11 |
백준 5397번 키로거 (JAVA) (0) | 2023.05.10 |