Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Pawn Brotherhood solution in Clear category for Pawn Brotherhood by Seaclaid
def safe_pawns(pawns):
safe=0
left=False
right=False
print(pawns)
pawns_indexes = set()
checkleft=[]
checkright=[]
for p in pawns:
row = int(p[1]) - 1
col = ord(p[0]) - 97
pawns_indexes.add((row, col))
checkleft=checkleft+[(row-1,col-1)]
checkright=checkright+[(row-1,col+1)]
#print(row,type(row),col,type(col),type(pawns_indexes),type(checkleft[0]),type(checkright[0]),checkleft,checkright)
#temp=checkright[0:1] in pawns_indexes
#print(range(len(checkright),2),pawns_indexes)
for y in range(len(checkright)):
right=checkright[y] in pawns_indexes
left=checkleft[y] in pawns_indexes
#print(right,left)
if right == True or left == True:
safe=safe+1
print("safe=",safe)
return safe
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
assert safe_pawns({"a1","h8"})==0
Jan. 7, 2017