Annettuna on merkkijono, jonka jokainen merkki on A
, B
tai C
. Tehtäväsi on laskea, moniko osajono sisältää yhtä monta A
:ta, B
:tä ja C
:tä.
Esimerkiksi kun merkkijono on CBACBA
, vastaus on , koska halutut osajonot ovat CBA
(kahdesti), BAC
, ACB
ja CBACBA
.
Voit olettaa, että merkkijonon pituus on enintään .
Python
Toteuta tiedostoon balance.py
funktio count
, joka antaa osajonojen määrän.
def count(s): # TODO if __name__ == "__main__": print(count("CCAABB")) # 1 print(count("CBACBA")) # 5 print(count("AAABBC")) # 0
Java
Toteuta tiedostoon Balance.java
metodi count
, joka antaa osajonojen määrän.
public class Balance { public long count(String s) { // TODO } public static void main(String[] args) { Balance b = new Balance(); System.out.println(b.count("CCAABB")); // 1 System.out.println(b.count("CBACBA")); // 5 System.out.println(b.count("AAABBC")); // 0 } }