diff --git a/cs/maximum-score-after-splitting-a-string.cs b/cs/maximum-score-after-splitting-a-string.cs new file mode 100644 index 0000000..89ea541 --- /dev/null +++ b/cs/maximum-score-after-splitting-a-string.cs @@ -0,0 +1,22 @@ +public class Solution { + public int MaxScore(string s) { + var ones = s.Skip(1).Count(c => c == '1'); + var zeros = s.Take(1).Count(c => c == '0'); + + var foundScore = ones + zeros; + for (var i = 1; i < s.Length - 1; ++i) { + switch (s[i]) { + case '0': + ++zeros; + break; + case '1': + --ones; + break; + } + + foundScore = Math.Max(foundScore, ones + zeros); + } + + return foundScore; + } +}