Menu
Coddy logo textTech

Desen Bulucu

Coddy'nin Ruby Journey'sinin Temeller bölümünün bir parçası — ders 87 / 88.

challenge icon

Görev

Kolay

Girdiden bir dize okuyun ve tüm dizeyi oluşturan en küçük tekrar eden deseni bulun.

Geçerli bir desen şunları yapmalıdır:

  • Dizenin toplam uzunluğunu tam olarak bölen bir uzunluğa sahip olmalıdır
  • Uygun sayıda tekrarlandığında, orijinal dizeyi tam olarak yeniden oluşturmalıdır

Eğer dize tekrar eden bir desenden oluşuyorsa, o en küçük deseni yazdırın. Eğer tekrar eden bir desen yoksa, orijinal dizeyi yazdırın.

Bir desenin çalışıp çalışmadığını kontrol etmek için dize çarpımını kullanabilirsiniz: pattern * count, deseni tekrarlayarak yeni bir dize oluşturur.

Örneğin, girdi abcabcabc ise, çıktı şöyle olmalıdır:

abc

Girdi xyxyxyxy ise, çıktı şöyle olmalıdır:

xy

Girdi aaaa ise, çıktı şöyle olmalıdır:

a

Girdi hello ise, çıktı şöyle olmalıdır:

hello

Girdi abcdef ise, çıktı şöyle olmalıdır:

abcdef

Kendin dene

# Giriş dizesini oku
s = gets.chomp

# TODO: Kodunuzu aşağıya yazın
# Tüm dizeyi oluşturan en küçük tekrar eden deseni bulun
# İpucu: Dize uzunluğuna tam bölünen desen uzunluklarını kontrol edin
# Bir desenin çalışıp çalışmadığını doğrulamak için dize çarpımını (desen * sayı) kullanın

result = s  # Bunu kendi çözümünüzle değiştirin

# Sonucu yazdır
puts result

Temeller bölümündeki tüm dersler