# Bot Saves Princess

Received a message from HackerRank with the following [edited] content:

Bot saves princess

Artificial Intelligence | 31,989 submissions

An introduction to bot challenges.

Rescue the princess trapped in the corner of the grid.

If interested take a look at the challenge using the following URL:  https://www.hackerrank.com/challenges/saveprincess?utm_campaign=challenge-recommendation&utm_medium=email&utm_source=24-hour-campaign

Following is a screen dump of the Eclipse IDE console using the sample data:

3

-m-

p–

DOWN

LEFT

I created an additional test using the following data:

5

—-p

—–

–m–

—–

—–

UP

RIGHT

UP

RIGHT

The Java code for the solution follows:

import java.util.Scanner;

public class Solution {

static void printPath(int n, String moves) {

for (int i = n / 2; i >= 0; i -= 2) {

System.out.println(moves);

}

}

static void displayPathtoPrincess(int n, String [] grid){

// **** princess @ top left  ****

if (grid[0].substring(0, 1).equals(“p”)) {

printPath(n, “UP\nLEFT”);

}

// **** princess @ top right ****

else if (grid[0].substring(n – 1, n).equals(“p”) ) {

printPath(n, “UP\nRIGHT”);

}

// **** princess @ bottom right ****

else if (grid[n – 1].substring(n – 1, n).equals(“p”)) {

printPath(n, “DOWN\nRIGHT”);

}

// **** princess @ bottom left ****

else {

printPath(n, “DOWN\nLEFT”);

}

}

public static void main(String[] args) {

Scanner in = new Scanner(System.in);

int m;

m = in.nextInt();

String grid[] = new String[m];

for(int i = 0; i < m; i++) {

grid[i] = in.next();

}

// **** ****

in.close();

// **** ****

displayPathtoPrincess(m,grid);

}

}

If you have comments or questions regarding this or any other post in this blog please do not hesitate and send me a message. I will respond as soon as possible and will not mention your name unless you explicitly allow me to do so.

John

john.canessa@gmail.com