58 lines
1019 B
Rust
58 lines
1019 B
Rust
fn bbq_skewers(skewers: &'static [&str]) -> (usize, usize) {
|
|
let mut vegetarian = 0;
|
|
|
|
for skewer in skewers {
|
|
if ! skewer.contains('x') {
|
|
vegetarian += 1;
|
|
}
|
|
}
|
|
|
|
return (vegetarian, skewers.len() - vegetarian);
|
|
}
|
|
|
|
#[test]
|
|
fn test1() {
|
|
assert_eq!(
|
|
bbq_skewers(&[
|
|
"--xo--x--ox--",
|
|
"--xx--x--xx--",
|
|
"--oo--o--oo--",
|
|
"--xx--x--ox--",
|
|
"--xx--x--ox--"
|
|
]),
|
|
(1, 4)
|
|
);
|
|
}
|
|
|
|
#[test]
|
|
fn test2() {
|
|
assert_eq!(
|
|
bbq_skewers(&[
|
|
"--oooo-ooo---",
|
|
"--xx--x--xx--",
|
|
"--o---o--oo--",
|
|
"--xx--x--ox--",
|
|
"--xx--x--ox--"
|
|
]),
|
|
(2, 3)
|
|
);
|
|
}
|
|
|
|
#[test]
|
|
fn test3() {
|
|
assert_eq!(
|
|
bbq_skewers(&[
|
|
"--oooo-ooo--",
|
|
"--xxxxxxxx--",
|
|
"--o---",
|
|
"-o-----o---x--",
|
|
"--o---o-----"
|
|
]),
|
|
(3, 2)
|
|
);
|
|
}
|
|
|
|
fn main() {
|
|
println!("Run `cargo test`.");
|
|
}
|