Bu meydan okumada, girdi olarak (STDIN veya en yakın) s2 (ilk satır) ve s2 (ikinci satır) olmak üzere iki satır satırla ayrılmış iki dizgi alan bir program yazacaksınız. S1 uzunluğunun her zaman 30'dan küçük ve s2 uzunluğundan daha büyük olacağını varsayabilirsiniz. Program daha sonra her adımı s1'den s2'ye levenshtein mesafesinden çıkarmalıdır.
Levenshtein mesafesindeki her adımın ne anlama geldiğini açıklığa kavuşturmak için, program n dizeleri yazdıracaktır, burada n s1 ve s2 arasındaki levenshtein mesafesidir ve iki bitişik dize arasındaki levenshtein mesafesi her zaman bir olacaktır. Sıra önemli değil. Çıktı satırsonu ile ayrılmalı ve s1'i içermemeli, sadece aradaki ve s2'yi içermelidir. Program ayrıca modern bir bilgisayarda bir dakikadan az bir sürede çalışmalıdır.
Örnekler:
Giriş:
Programming
Codegolf
Çıktı:
rogramming
Cogramming
Coramming
Coamming
Codmming
Codeming
Codeging
Codegong
Codegolg
Codegolf
Giriş:
Questions
Answers
Çıktı:
uestions
Aestions
Anstions
Ansions
Answons
Answens
Answers
Giriş:
Offline
Online
Çıktı:
Ofline
Online
Giriş:
Saturday
Sunday
Çıktı:
Sturday
Surday
Sunday
Burada , mesafeyi ve adımları yazdıran bir python betiği bağlantısı bulunmaktadır.
Ek kurallar:
- İnternet kullanımı yok
- Standart boşluklar geçerlidir
Bu kod golf yani kısa kod tutmak; en kısa kod kazanır!
s1(newline)s2
, ancak soruyu tekrar gözden geçirdikten sonra, programın yerine girilen 2 dizenin uzunluğuna göre s1 ve s2'yi seçmesini isteyip istemediğinizi merak ediyorum her iki sırayla, bu noktayı açıklığa kavuşturmak ister misiniz? Yani, girdinin s1 ve ardından s2 olduğunu varsayar mıyız, yoksa iki girişin uzunluğuna göre s1 ve s2'yi seçer miyiz?