diff --git a/src/problem/mod.rs b/src/problem/mod.rs index c1ddddd..fb72952 100644 --- a/src/problem/mod.rs +++ b/src/problem/mod.rs @@ -536,3 +536,5 @@ mod p2012_sum_of_beauty_in_the_array; mod p3305_count_of_substrings_containing_every_vowel_and_k_consonants_i; mod p3306_count_of_substrings_containing_every_vowel_and_k_consonants_ii; + +mod p3340_check_balanced_string; diff --git a/src/problem/p3340_check_balanced_string.rs b/src/problem/p3340_check_balanced_string.rs new file mode 100644 index 0000000..cbc54e7 --- /dev/null +++ b/src/problem/p3340_check_balanced_string.rs @@ -0,0 +1,27 @@ +/** + * [3340] Check Balanced String + */ +pub struct Solution {} + +// submission codes start here + +impl Solution { + pub fn is_balanced(num: String) -> bool { + let num: Vec = num.bytes().map(|x| (x - b'0') as i32).collect(); + + num.iter().step_by(2).sum::() == num.iter().skip(1).step_by(2).sum::() + } +} + +// submission codes end + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_3340() { + assert!(!Solution::is_balanced("1234".to_owned())); + assert!(Solution::is_balanced("24123".to_owned())); + } +}