summaryrefslogtreecommitdiff
path: root/minimum-changes-to-make-alternating-binary-string/src/main.rs
diff options
context:
space:
mode:
authorOrangerot <purple@orangerot.dev>2024-06-27 11:30:16 +0200
committerOrangerot <purple@orangerot.dev>2024-06-27 11:30:16 +0200
commit4b0a6a01b051a4ebfbc17661d14cb23fe4f275fb (patch)
tree0072cca328fe5adb2ed61004010228ff85e2164d /minimum-changes-to-make-alternating-binary-string/src/main.rs
Initial commitHEADmain
Diffstat (limited to 'minimum-changes-to-make-alternating-binary-string/src/main.rs')
-rw-r--r--minimum-changes-to-make-alternating-binary-string/src/main.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/minimum-changes-to-make-alternating-binary-string/src/main.rs b/minimum-changes-to-make-alternating-binary-string/src/main.rs
new file mode 100644
index 0000000..369635d
--- /dev/null
+++ b/minimum-changes-to-make-alternating-binary-string/src/main.rs
@@ -0,0 +1,15 @@
+fn main() {
+ println!("Hello, world!");
+}
+
+struct Solution;
+
+impl Solution {
+ pub fn min_operations(s: String) -> i32 {
+ let a: Vec<_> = s.chars().collect();
+ i32::min(
+ a.chunks(2).map(|x| match x { ['0','1'] | ['0'] => 0, ['1', '0'] => 2, _ => 1 }).sum(),
+ a.chunks(2).map(|x| match x { ['1','0'] | ['1'] => 0, ['0', '1'] => 2, _ => 1 }).sum()
+ )
+ }
+}