Aşağıdaki koşullar yerine getirildiğinde bir dize kare olarak kabul edilir:
- Her satırda aynı sayıda karakter var
- Her satırdaki karakter sayısı, satır sayısına eşittir.
Göreviniz verilen bir giriş dizesinin bir kare olup olmadığını belirleyen bir program veya işlev yazmaktır.
Seçtiğiniz LF, CR veya CRLF ile sınırlandırılmış olarak girmeniz gerekebilir.
Yeni satır karakterleri, satır uzunluğunun bir parçası olarak kabul edilmez.
Girişte ek bir satır sayılmayan takip eden bir yeni satır olmanız veya olmamanız gerekebilir.
Giriş bir dize veya 1D karakter dizisidir; dizelerin listesi değildir.
Girişin boş olmadığını ve boşluklar dahil yalnızca yazdırılabilir ASCII içerdiğini varsayabilirsiniz.
Kare dizeler için bir truthy, diğer dizeler için ise sahte bir değer vermelisiniz.
Truthy test durumları:
varsayılan değer bar baz
.
.s. .SS .s. (s, alanı temsil ediyor)
ss ss (s, alanı temsil ediyor)
aaaaa aaaaa aaaaa aaaaa aaaaa
Sahte test durumları:
.. .
.
.
.... ....
4444 333 22
333 333
abc.def.ghi
Bazı sahte durumlarda ekstra boş satırlar olduğunu unutmayın.
Bu kod golf - en az bayt kazanıyor!