Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in 3rd party category for Pawn Brotherhood by Sara_Pinela
import numpy as np
def safe_pawns(pawns):
d = {'a':0, 'b':1, 'c':2, 'd':3, 'e':4,'f':5, 'g':6, 'h':7}
tablero = np.zeros((8,8))
for coord in pawns:
i = 8-int(coord[1])
j=d[coord[0]]
tablero[i,j]=1
cont = 0
f,c = tablero.shape
for i in range(f):
for j in range(c):
if tablero[i,j] ==1:
if tablero[i+1: i+2, j-1:j] ==1 or tablero[i+1: i+2, j+1: j+2] == 1:
cont += 1
return cont
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
Jan. 19, 2017