728x90
https://www.acmicpc.net/problem/17608
17608번: 막대기
아래 그림처럼 높이만 다르고 (같은 높이의 막대기가 있을 수 있음) 모양이 같은 막대기를 일렬로 세운 후, 왼쪽부터 차례로 번호를 붙인다. 각 막대기의 높이는 그림에서 보인 것처럼 순서대로
www.acmicpc.net
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
Stack<Integer> stick = new Stack<>(); // 스택으로 선언
for(int i=0; i<N; i++){ // 막대기 높이 push
stick.push(sc.nextInt());
}
int first = stick.pop(); // 맨 마지막에 넣은 막대기 높이
int look = 1; // 한 개는 무조건 보임
while(!stick.isEmpty()){ // 스택이 빌 때까지 반복
int second = stick.pop(); // 앞 의 막대기보다 뒤의 막대기의
if(second>first) { // 높이가 더 높다면 보이는 막대기 하나 추가가
first = second;
look++;
}
}
System.out.println(look);
}
}
728x90
'코딩테스트 > 백준' 카테고리의 다른 글
[백준-자바] 2003번 수들의 합 2 / 2022.06.04 (0) | 2022.06.04 |
---|---|
[백준-자바] 1874번 스택 수열 / 2022.05.26 (0) | 2022.05.26 |
[백준-자바] 1253번 좋다 / 2022.05.23 (0) | 2022.05.23 |
[백준-자바] 1940번 주몽 / 2022.05.21 (0) | 2022.05.21 |
[백준-자바] 2018번 수들의 합 5 / 2022.05.21 (0) | 2022.05.21 |