
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다.
첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다.
use std::io;
use std::collections::HashMap;
fn main() {
let mut input = String::new();
io::stdin().read_line(&mut input).unwrap();
let input = input.trim().to_uppercase();
let mut used_alphabet = HashMap::new();
for char in input.chars() {
used_alphabet
.entry(char)
.and_modify(|counter| *counter += 1)
.or_insert(1);
}
let mut max_value = 0;
let mut max_alphabet = '?';
for (&key, &value) in &used_alphabet {
if value > max_value {
max_value = value;
max_alphabet = key;
} else if value == max_value {
max_alphabet = '?';
}
}
println!("{max_alphabet}")
}
.entry

https://doc.rust-lang.org/std/collections/struct.HashMap.html#method.entry
.and_modify()
.or_insert()