Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Pawn Brotherhood by light2happy.718
def safe_pawns(pawns):
num_safe = 0
for file, rank in pawns:
defense_rank = str(int(rank)-1)
defense_pawns = {chr(ord(file)-1)+defense_rank,
chr(ord(file)+1)+defense_rank}
if (pawns - {file+rank}) & defense_pawns:
num_safe += 1
return num_safe
May 20, 2015