I♥TLE

Java、オンラインジャッジなど

0013-Switching Railroad Cars

問題(外部リンク)

Switching Railroad Cars | Aizu Online Judge

実装の概要

0が入力された際に出ていくのは「現在停まっている中で最後に行き止まりに入ってきた車両」なのでスタックを使うと簡単に記述することができます。即ち、車両が行き止まりに入るということをpush()、車両が出て行くことをpop()と対応させるということです。

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        Stack<Integer> stack = new Stack<Integer>();
         
        while(true){
            String tmp = br.readLine();
             
            if(tmp == null){
                break;
            }
             
            int n = Integer.parseInt(tmp);
             
            if(n != 0){
                stack.push(n);
            }
            if(n == 0){
                System.out.println(stack.pop());
            }
        }
    }
}