結果
| 問題 | No.2924 <===Super Spaceship String===> | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2024-10-12 16:41:48 | 
| 言語 | Rust (1.83.0 + proconio) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 9 ms / 2,000 ms | 
| コード長 | 984 bytes | 
| コンパイル時間 | 20,253 ms | 
| コンパイル使用メモリ | 388,020 KB | 
| 実行使用メモリ | 5,248 KB | 
| 最終ジャッジ日時 | 2024-10-16 17:55:55 | 
| 合計ジャッジ時間 | 12,331 ms | 
| ジャッジサーバーID (参考情報) | judge5 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 2 | 
| other | AC * 12 | 
ソースコード
use proconio::input;
fn main() {
    input! {
        s: String,
    }
    let mut removed_length = 0_usize;
    let mut lt_cnt = 0_usize;
    let mut stack = vec![];
    for c in s.chars() {
        match c {
            '<' => {
                lt_cnt += 1;
                stack.push('<');
            }
            '=' => {
                stack.push('=');
            }
            '>' => {
                if lt_cnt == 0 || stack.last() != Some(&'=') {
                    lt_cnt = 0;
                    stack.push('>');
                } else {
                    removed_length += 1;
                    while let Some(prev_c) = stack.pop() {
                        removed_length += 1;
                        if prev_c == '<' {
                            break;
                        }
                    }
                    lt_cnt -= 1;
                }
            }
            _ => panic!(),
        }
    }
    println!("{}", s.len() - removed_length);
}
            
            
            
        