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