오늘의 과제는 여러 줄 문자열을 가져와 왼쪽 상단 모서리를 포함하는 문자열에 포함 된 가장 큰 사각형을 출력하는 것입니다.
정사각형 문자열은 다음과 같습니다.
- 각 줄의 문자 수는 동일합니다
- 각 줄의 문자 수는 줄 수와 같습니다.
다음 가능한 입력 문자열을 고려하십시오.
abcde
fgh
asdf
foobar
첫 번째 문자 ( a
왼쪽 상단 모서리) 를 포함하여 가장 큰 사각형 은 다음과 같습니다.
abc
fgh
asd
두 번째 줄의 길이가 충분하지 않기 때문에 측면 길이 4의 제곱은있을 수 없습니다. 이제이 잠재적 입력을 고려하십시오.
a
bcd
edf
ghi
여기에서 가장 큰 광장은 바로 a
입니다. 아래쪽에 형성된 3x3 정사각형에는 첫 문자가 포함되지 않으며 계산되지 않습니다.
다음은 몇 가지 테스트 사례입니다.
a
a
abc
def
gh
ab
de
ab
cd
ab
cd
abcde
fghij
klm
no
abc
fgh
klm
a
b
a
LF, CR 또는 CRLF를 선택하여 입력을 구분해야 할 수도 있습니다.
줄 바꾸기 문자는 줄 길이의 일부로 간주되지 않습니다.
추가 줄로 계산되지 않는 입력 줄에 줄 바꿈이 있거나 없을 것을 요구할 수 있습니다.
입력은 문자열 또는 1D 문자 배열입니다. 문자열 목록이 아닙니다.
입력이 비어 있지 않고 모든 행이 비어 있지 않은 것으로 가정 할 수 있으며 공백과 줄 바꿈 (줄 구분 기호의 경우)을 포함하지만 탭이 아닌 인쇄 가능한 ASCII 만 포함합니다.
이것은 code-golf 이며 가장 적은 바이트 수입니다!
.split('\n')
는 없으므로 일부는 무료로 제공 해야하는 이유를 모르겠습니다.