Introduction

Hello, and welcome, code explorer! Today's journey takes us through the intricate paths within a 2-dimensional array, often likened to a game board. Our mission is to identify ideal spots for game piece placement. Sounds like an adventure, doesn't it? Let's embark!

Task Statement

Visualize a chessboard in the form of a 2D array, where each cell could be marked 'E' for empty or 'P' for a piece. Our quest involves summoning a PHP function named findPositions(). Upon examining this 2D array, this function identifies all the spots where a new piece could be placed so that it can move to another empty cell in one move. The catch is that a piece can move only to an immediately neighboring cell directly above, below, to the left, or right, but not diagonally.

Consider this 4x4 board, for instance:

The function should output the following pairs representing positions: (0, 1), (0, 2), (1, 2), (2, 1), (3, 1). This output represents the positions where a new piece can fit perfectly and then be able to move in the next turn.

Solution Building: Step 1

Stepping right into action, we start with an empty positions array to help us log the sought-after positions. Understanding the dimensions of our "board" paves the way for defining boundaries in our exploration mission. In PHP, we determine the size of a 2D array using the count() function.

Sign up
Join the 1M+ learners on CodeSignal
Be a part of our community of 1M+ users who develop and demonstrate their skills on CodeSignal