λ°±μ€ 17608λ² - λ§λκΈ°
https://www.acmicpc.net/problem/17608
17608λ²: λ§λκΈ°
μλ κ·Έλ¦Όμ²λΌ λμ΄λ§ λ€λ₯΄κ³ (κ°μ λμ΄μ λ§λκΈ°κ° μμ μ μμ) λͺ¨μμ΄ κ°μ λ§λκΈ°λ₯Ό μΌλ ¬λ‘ μΈμ΄ ν, μΌμͺ½λΆν° μ°¨λ‘λ‘ λ²νΈλ₯Ό λΆμΈλ€. κ° λ§λκΈ°μ λμ΄λ κ·Έλ¦Όμμ λ³΄μΈ κ²μ²λΌ μμλλ‘
www.acmicpc.net
μμ μ νμλ λ°±μ€μ ν λ¬Έμ (https://www.acmicpc.net/problem/2493)μ λΉμ·νλ€κ³ μκ°νλ€. κ°κ°μ λμ΄κ° λ€λ₯΄κ³ , μ΄λ νμͺ½μμ 보μμ λ λ€μ μλ κ²λ€μ΄ 보μ΄λμ§λ₯Ό νλ¨ν΄μΌ νλ€. ν λ¬Έμ μ ν΄μ€μ λ€μμ λ, μ€νμ μ¬μ©ν΄μ ν μ μλ€κ³ ν΄μ μ΄ λ¬Έμ λ μ€νμΌλ‘ μ κ·Όν΄μ νμλ€.
μ€λ₯Έμͺ½μμ 보μμ λ, μ μΌ μ€λ₯Έμͺ½μ μλ κ²λ³΄λ€ ν° κ²λ§ λ¨μμμ΄μΌ νλ€.
μ€νμ hλ₯Ό μλλ°, νμ ν° hκ° λ€μ΄μ¬ λλ§λ€ μ€νμμ hλ³΄λ€ μμ κ²λ€μ λΉΌμ€λ€.
κ·Έλ¦¬κ³ λ€ λΉΌμ€¬μΌλ©΄ hλ₯Ό λ£λλ€.
λ§μ§λ§μ μ€νμ μ¬μ΄μ¦λ₯Ό μΆλ ₯νλ©΄ λλ€.
μ½λ
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 NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
Stack<Integer> stack = new Stack<>();
int h = Integer.parseInt(br.readLine());
stack.push(h);
for(int i = 1; i < N; i++) {
h = Integer.parseInt(br.readLine());
while(true) {
if(!stack.isEmpty() && h >= stack.peek()) {
stack.pop();
}else {
stack.push(h);
break;
}
}
}
System.out.println(stack.size());
}
}
κ²°κ³Ό