Back to Freecodecamp

Challenge 243: Rook Attack

curriculum/challenges/english/blocks/daily-coding-challenges-python/69b58ce40693f140c84c855c.md

latest1.8 KB
Original Source

--description--

Given two strings for the location of two rooks on a chess board, determine if they can attack each other.

A standard chessboard is 8x8, with columns labeled A through H (left to right) and rows labeled 1 through 8 (bottom to top). It looks like this:

A8B8C8D8E8F8G8H8
A7B7C7D7E7F7G7H7
A6B6C6D6E6F6G6H6
A5B5C5D5E5F5G5H5
A4B4C4D4E4F4G4H4
A3B3C3D3E3F3G3H3
A2B2C2D2E2F2G2H2
A1B1C1D1E1F1G1H1

Rooks can move as many squares as they want in a horizontal or vertical direction. So if they are on the same row or column, they can attack each other.

--hints--

rook_attack("A1", "A8") should return True.

js
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertIs(rook_attack("A1", "A8"), True)`)
}})

rook_attack("B4", "F4") should return True.

js
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertIs(rook_attack("B4", "F4"), True)`)
}})

rook_attack("E3", "D4") should return False.

js
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertIs(rook_attack("E3", "D4"), False)`)
}})

rook_attack("H7", "F6") should return False.

js
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertIs(rook_attack("H7", "F6"), False)`)
}})

--seed--

--seed-contents--

py
def rook_attack(rook1, rook2):

    return rook1

--solutions--

py
def rook_attack(rook1, rook2):
    return rook1[0] == rook2[0] or rook1[1] == rook2[1]