(([][()]){[{}({}[({})])]{{}()(<()>)}{}([][()])}<>)
Çevrimiçi deneyin!
Herkes 50 baytlık çözümlerini burada paylaştığım için benim ( 48 baytlık bir tane var ama DjMcMayhem'in basit bir modifikasyonuydu, bu yüzden göndermeye değer hissettim)
açıklama
Bu cevap, değer iptal etmeyi yoğun olarak kullanmaktadır.
Golf oynanmamış gibi görünüyor
([][()])({<{}({}[({})])>{<{}>()(<()>)}{}<([][()])>}<>)
Burada, yığında bir öğe kalıncaya kadar deltayı hesaplıyoruz, eğer delta sıfır değilse, iç döngüden her bir değer biriktirdiğimizde.
Bu, bunu yapmanın oldukça basit bir yoludur.
Bu golf yapmak için değer iptal etmeye başlıyoruz. Birincisi ve herhangi bir sertleştirilmiş beyin-flak golfçüsü için açık olması gereken, yığın yüksekliğidir. İyi bilinen bir gerçektir
([])({<{}>...<([])>}{})
aynıdır
(([]){[{}]...([])}{})
Değerler bir değiştirildiği zaman aynı kalır. Bu bize
(([][()]){[{}]<({}[({})])>{<{}>()(<()>)}{}([][()])}<>)
Bunun bizi bayt tasarruf etmediğini fark edebilirsiniz, ancak devam ettikçe daha kullanışlı hale geleceğinden korkmayın.
Bir ifade görürseniz başka bir indirim yapabiliriz
<(...)>{<{}> ...
bunu aslında
[(...)]{{} ...
Bu eserler biz döngüye girmesine çünkü eğer [(...)]
ve {}
iptal edecek ve biz değil değerini yaparsanız [(...)]
zaten ilk etapta sıfırdı ve iptal edilmesi gerekmez. Kodumuzda bu paternin ortaya çıkması nedeniyle onu azaltabiliriz.
(([][()]){[{}][({}[({})])]{{}()(<()>)}{}([][()])}<>)
Bu bize 2 bayt kurtardı ama aynı zamanda yan yana iki hata koydu. Bunlar bizi başka 2 kurtarmak için birleştirilebilir.
(([][()]){[{}({}[({})])]{{}()(<()>)}{}([][()])}<>)
Ve bu bizim kodumuz.
False
, bunun yerine yazdırılırsa cevabım geçerli mi?