Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Spaceship Landing Strip by brownie57
def checkio(landing_map):
area = 0
landing_map = [[1 if x == 'G' or x == 'S' else 0 for x in y] for y in landing_map]
for i in range(len(landing_map)):
for j in range(len(landing_map[i])):
for h in range(i, len(landing_map)):
for w in range(j, len(landing_map[i])):
rectangle = [landing_map[a][j:w + 1] for a in range(i, h + 1)]
if all((1 if all(x) else 0 for x in rectangle) ):
area = max(area, (h - i + 1) * (w - j + 1))
return area
if __name__ == '__main__':
#These "asserts" using only for self-checking and not necessary for auto-testing
assert checkio(['G']) == 1, 'One cell - one variant'
assert checkio(['GS',
'GS']) == 4, 'Four good cells'
assert checkio(['GT',
'GG']) == 2, 'Four cells, but with a tree'
assert checkio(['GGTGG',
'TGGGG',
'GSSGT',
'GGGGT',
'GWGGG',
'RGTRT',
'RTGWT',
'WTWGR']) == 9, 'Classic'
Nov. 28, 2018