Bu bir ayna: |
. Dize kendiliğinden yansıtılabilirse, bir dize ortasında bir ayna yapıştırabileceğinizi öğrendim! Örneğin, dize abccba
. Yarıda keserseniz, iki yarım birbirinin ayna görüntüsüdür:
abc <--> cba
Böylece, dize ortasında bir ayna tutabiliriz, ve yeni dize abc|cba
. Bazen, dizginin sadece bir kısmı kendi kendine yansıtılabilir. Örneğin, "ayna" dizesi. İki r yansıtılır, ancak dizenin geri kalanı değil. Sorun değil, dizenin birbirini yansıtmayan kısımlarını kaldıracağız ve aşağıdaki dizgiyi alacağız:
r|r
Bazı dizeler birden fazla yerde yansıtılabilir. Örneğin, "Merhaba Dünya, xyzzyx". Aynaya yansıyan bir sürü metnin olmasını seviyorum, bu yüzden aynamı koymak için en iyi yeri bulman gerekiyor. Bu durumda, daha uzun aynalı dizgeyi çıktılamalısınız ve son örneğimizde olduğu gibi her şeyi kaldırmalısınız. Bu dize olur:
xyz|zyx
Bazı dizeler yansıtılabilir gibi görünür , ancak aslında olamaz. Bir dize hiçbir yerde yansıtılamazsa, hiçbir şey çıkarmamalısınız.
Meydan okuma:
Yalnızca yazdırılabilir ascii içeren bir dize verildiğinde, aynamı koymak için en iyi yeri bulun. Diğer bir deyişle,
En büyük çift uzunluktaki palindromik altlığı bulun ve sonra '|' ortasında.
Giriş 1-50 karakter uzunluğunda olacak.
Girişin ayna |
veya yeni satır içermeyeceğini varsayabilirsiniz . Bunun ötesinde, tüm basılabilir-ascii karakterleri adil bir oyundur. En uzun yansıtılmış alt dize iki alt dize arasına bağlıysa, hangisinin çıktısını seçebilirsiniz. Örneğin, "abba ollo" dizgisi için "ab | ba" veya "ol | lo" yazmalısınız, ancak hangisini çıkardığınız önemli değildir. Dizeler "ABBA" harf duyarlı, örneğin şunlardır should not çıktı "AB | ba", bu çıkış boş dize olmalıdır.
Örnek io:
"Hello World" --> "l|l"
"Programming Puzzles and Code-Golf" --> Either "m|m" or "z|z"
"abcba" --> ""
"Hulluh" --> "ul|lu"
"abcdefggfedcba" --> "abcdefg|gfedcba"
"abcdefggfabc" --> "fg|gf"
"AbbA" --> "Ab|bA"
"This input is a lot like the last one, but with more characters that don't change the output. AbbA" --> "Ab|bA"
Her zaman olduğu gibi, bu kod golf, bu yüzden standart boşluklar geçerli ve bayt cinsinden en kısa cevap kazanıyor!