Bandera tricolor en Rust
This commit is contained in:
20
src/Rust/003.rs
Normal file
20
src/Rust/003.rs
Normal file
@@ -0,0 +1,20 @@
|
||||
const ORDER: [&str; 3] = ["R", "A", "M"];
|
||||
|
||||
fn tricolor_flag<'a>(lst: &[&'a str]) -> Vec<&'a str> {
|
||||
let mut ordered_lst = lst.to_vec();
|
||||
ordered_lst.sort_by_key(|s| {
|
||||
ORDER
|
||||
.iter()
|
||||
.position(|&v| v == *s)
|
||||
});
|
||||
|
||||
return ordered_lst
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let check = vec!["M","R","A","A","R","R","A","M","M"];
|
||||
println!("{:?}", tricolor_flag(&check)); // [R,R,R,A,A,A,M,M,M]
|
||||
|
||||
let check = vec!["M", "R", "A", "R", "R", "A"];
|
||||
println!("{:?}", tricolor_flag(&check)); // [R,R,R,A,A,M]
|
||||
}
|
||||
Reference in New Issue
Block a user