문제
해결 방안
뒤에서부터 확인을 하므로 Stack을 이용하여 구현하였다.
기준 막대기높이(standard)보다 비교하는 막대기높이(current)가 크면 갯수를 하나씩 늘려주고 standard를 current로 바꿔준다.
코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;
// 막대기
public class Main {
public static void main(String[] args) throws IOException {
Stack<Integer> stack = new Stack<>();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
int n = Integer.parseInt(str);
int h=0;
for(int i=0; i<n; i++) {
str = br.readLine();
h = Integer.parseInt(str);
stack.push(h);
}
// ==== 입력 끝
int standard = stack.pop();
int cnt = 1;
int current = 0;
while(!stack.isEmpty()) {
current = stack.pop();
if(current > standard) {
standard = current;
cnt++;
}
}
System.out.println(cnt);
}
}
'Development Logs > Algorithms' 카테고리의 다른 글
[JAVA] 백준 15970번 : 화살표 그리기(한국정보올림피아드/KOI 2018/초등부) (0) | 2020.09.22 |
---|---|
[JAVA] 백준 17609번 : 회문(한국정보올림피아드/KOI 2019 1차대회/초등부) (2) | 2020.09.21 |
[JAVA] 백준 17616번 : 등수 찾기(한국정보올림피아드/KOI 2019 2차대회/초등부) (0) | 2020.09.17 |
[JAVA] 백준 17615번 : 볼 모으기(한국정보올림피아드/KOI 2019 2차대회/초등부) (0) | 2020.09.17 |
[JAVA] 백준 17614번 : 369(한국정보올림피아드/KOI 2019 2차대회/초등부) (0) | 2020.09.17 |