Zainspirowany Czy to podwójne mówienie? , Opracowałem trudniejsze wyzwanie. Biorąc pod uwagę ciąg, określ, czy ciąg jest n-speak , dla dowolnego .
N-speak jest definiowany poprzez powtarzanie każdej litery razy. Przy ciąg Hello
jest przekształcany na HHHHeeeelllllllloooo
. Twoim celem jest ustalenie, czy dane wejściowe są prawidłowymi danymi wyjściowymi dla transformacji n-speak.
Należy zauważyć, że każde zdanie, które jest ważne n-speak, dla , jest również ważne k-speak. Zatem trudnymi częściami do rozwiązania będą nieparzyste wartości .
Wkład
Ciąg składający się z co najmniej 2 znaków. Dane wejściowe mogą być również listą znaków. W danych wejściowych rozróżniana jest wielkość liter.
Wydajność
Truthy
jeśli ciąg jest n-speak, w falsey
przeciwnym razie.
Przykłady
Prawdziwe przypadki
HHeelllloo,, wwoorrlldd!!
TTTrrriiipppllleee ssspppeeeaaakkk
QQQQuuuuaaaaddddrrrruuuupppplllleeee ssssppppeeeeaaaakkkk
7777777-------ssssssspppppppeeeeeeeaaaaaaakkkkkkk
999999999
aaaabb
aaaaaaaabbbbcc
aaaaabbbbb
@@@
Jeśli chcesz wygenerować dodatkowe prawdziwe przypadki, możesz użyć tego skryptu MathGolf . Umieść ciąg w cudzysłowie, a wartość jako dane wejściowe.
Fałszywe przypadki
Hello, world!
TTTrrriiipppllleee speak
aaaaaaaaaaaaaaaab
Ddoouubbllee ssppeeaakk
aabbab
aaaabbb
a (does not need to be handled)
(empty string, does not need to be handled)
Oczywiście, ponieważ jest to kod golfowy, przygotuj się na przycięcie niektórych bajtów!
aaaabbb
aabbab