Böyle bir ASCII sanatı dizisi verildi (Bu ASCII sanatı değil, örnek için yapılacaktır):
abc
d e
fgh
Satır başına bir karakter içeren bir ekranda görüntüleniyormuş gibi karıştırın, şöyle:
a
b
c
d
e
f
g
h
Sonucu yazdırın, terminali ve baskıyı aynı şeyi temizlemeden önce bir saniye, ± 0,5 saniye bekleyin, ancak 1 yerine satır başına 2 karakter görüntülenir. Temelde, ekranın genişliği 1'den 2'ye döner.
ab
c
d
e
fg
h
Sonra boşluk dikkat edin d
. Beklemeyi tekrarlayın, ardından girilen metin çıkana kadar satır başına ek bir karakterle yazdırın.
Karakterleri yazdırmaya çalışırken bir satırın sonuna gelirseniz, yeni bir satır ekler ve bu kuralı izleyerek geri kalanlarını yazdırırsınız. Örneğin giriş:
abcdefg
ab
Ekran uzunluğu 4 olduğunda aşağıdakileri basarsınız.
abcd
efg
ab
Terminal yeniden boyutlandırmasının etkisini burada bulabilirsiniz: https://repl.it/GoeU/1 . Programı çalıştırın, sonra terminali ayıran şeyi metin düzenleyiciden ileri geri sürükleyin.
Açıklama:
Bir satır tam olarak nasıl girildiği göründüğünde, satır başına gelecekteki daha büyük karakter sayıları için bu satırı tek başına bırakabilirsiniz.
abc
ab
yazdırmalı
ab
c
ab
cümle uzunluğu = 2.
Bu kod golf , yani en az bayt miktarı kazanır!
Kurallar:
- Tek çıktı STDOUT'a yazdırılmalıdır.
- Terminali temizlemeli veya 150 veya daha fazla boş satır ekleyerek terminali temizleme yanılsaması yaratmalıdır.
- Standart yöntemlerle girdi alabilir.
- Varsayılan boşluklar uygulanır.
- Metin ile sondaki şeyler TAMAM DEĞİLDİR.
Bu fikir, üzerinde ASCII sanatı olan bir terminali yeniden boyutlandırırken bana geldi. İlginç görünüyordu, bu yüzden ondan bir meydan okumaya karar verdim.
Test senaryoları:
Her test durumu için her adımı ayrı ayrı göstermek çok fazla iş olacağından, geçerli olduğundan emin olmak için her cevabı gözden geçireceğim. Cevabın test senaryolarını ele alabildiğinden emin olun.
______ ______ __ __ __ ______ __ __ ______
/\ == \ /\ == \ /\ \ /\ "-.\ \ /\__ _\ /\ "-./ \ /\ ___\
\ \ _-/ \ \ __< \ \ \ \ \ \-. \ \/_/\ \/ \ \ \-./\ \ \ \ __\
\ \_\ \ \_\ \_\ \ \_\ \ \_\\"\_\ \ \_\ \ \_\ \ \_\ \ \_____\
\/_/ \/_/ /_/ \/_/ \/_/ \/_/ \/_/ \/_/ \/_/ \/_____/
__/\__
\ /
__/\__/ \__/\__
\ /
/_ _\
\ /
__/\__ __/ \__ __/\__
\ / \ / \ /
__/\__/ \__/\__/ \__/\__/ \__/\__