目が痛い。花粉かな……。
PAST #2 第二回 アルゴリズム実技検定 過去問 の B を解いた。
- B - 多数決
https://atcoder.jp/contests/past202004-open/tasks/past202004_b
- 提出: https://atcoder.jp/contests/past202004-open/submissions/40316187
'a'
'b'
'c'
をそれぞれ数えて、最大のものを選べば良い- 意外とすっきり書けない
use proconio::{input, marker::Chars}; fn main() { input! { s: Chars, }; let mut count = vec![0_usize; 3]; for c in s { count[(c as u8 - b'a') as usize] += 1; } let max = count.iter().copied().max().unwrap(); let ans = (count.iter().copied().position(|v| v == max).unwrap() as u8 + b'a') as char; println!("{}", ans); }
use proconio::input; use proconio::marker::Chars; fn main() { input! { s: Chars, }; let mut map = std::collections::HashMap::new(); for &s_i in s.iter() { *map.entry(s_i).or_insert(0_i64) += 1_i64; } let mut counts = map.into_iter().collect::<Vec<(char, i64)>>(); counts.sort_by_key(|(_, v)| -v); let ans = counts[0].0; println!("{}", ans); }
今日のコミット。
- tsukota 1 commit
- rust-atcoder 1 commit