Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First ordinal solution in Clear category for Pawn Brotherhood by z.thami
def safe_pawns(pawns: set) -> int:
indexes = []
count = 0
#Convert letters in to numbers, make "row index" go through 0-7 instead of 1-8
for i in pawns:
col = ord(i[0]) - 97
row = int(i[1]) - 1
indexes.append((row, col))
#check if the pawn is safe
for row, col in indexes:
safe_count = (row -1, col -1 )in indexes or (row -1, col +1) in indexes
if safe_count:
count += 1
return count
if __name__ == '__main__':
#These "asserts" using only for self-checking and not necessary for auto-testing
assert safe_pawns({"b4", "d4", "f4", "c3", "e3", "g5", "d2"}) == 6
assert safe_pawns({"b4", "c4", "d4", "e4", "f4", "g4", "e5"}) == 1
print("Coding complete? Click 'Check' to review your tests and earn cool rewards!")
June 7, 2019