Problem Statement
- Choose a ball that is not at either end of the row of balls.
- If the chosen ball has the label '<', remove the chosen ball and also the ball immediately to the left of it. Otherwise, remove the chosen ball and also the ball to the right of it.
- Without reordering the remaining balls, push them together to get rid of the gap created in the previous step.
Definition
- Class:
- BallRemoval
- Method:
- canLeave
- Parameters:
- String
- Returns:
- String
- Method signature:
- String canLeave(String label)
- (be sure your method is public)
Constraints
- label will contain between 3 and 49 characters, inclusive.
- label will contain an odd number of characters.
- Each character of label will be either '>' or '<'.
Examples
"<<>"
Returns: "..o"
Initially, you have three balls. Since you cannot choose balls at the ends of the row, you have to choose ball 1. As its label is '<', you remove balls 0 and 1. Hence the only possible survivor is ball 2.
">>><<"
Returns: "o...o"
If you choose ball 2 or ball 3 first, you have to choose ball 1 next, and the survivor will be ball 0. If you choose ball 1 first, you have to choose ball 3 next, and the survivor will be ball 4.
"<<><<"
Returns: "....o"
"<><<><>"
Returns: "o.....o"
">>><<<>>>>><<<>"
Returns: "o.....o.o.....o"
"<>>><<>>>>><><><><>>>"
Returns: "o.....o.o.........o.o"
">>>"
Returns: "o.."
"<<<"
Returns: "..o"
">><"
Returns: "o.."
"<><"
Returns: "o.."
"<><><><><><><><><><><><><><><><><><><><><><><><>>"
Returns: "o................................................"
"<><><><><><><><><><><><><><><><><><><><><><><><><"
Returns: "o................................................"
"><><><><><><><><><><><><><><><><><><><><><><><><>"
Returns: "................................................o"
"<>><><><><><><><><><><><><><><><><><><><><><><><>"
Returns: "o...............................................o"
"<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
Returns: "o.o.o.o.o.o.o.o.................................."
"<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
Returns: "................o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o"
"<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>"
Returns: "................................................o"
"<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>"
Returns: "o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.."
"<<<>><<<<<>>>>><<<<<>>>>><<<<<>>>>><<<<<>>>>><<>>"
Returns: "o.o...o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o"
"<<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>>>"
Returns: "..o...o...o...o...o...o...o...o...o...o...o...o.o"
"><>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>>>"
Returns: "..o...o...o...o...o...o...o...o...o...o...o...o.o"
">>>>>>>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>>>"
Returns: "o.........o...o...o...o...o...o...o...o...o...o.o"
">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
Returns: "o................................................"
"<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"
Returns: "................................................o"
"<<<>>><<<>>><<<>>><<<>>><<<>>><<<>>><<<>>><<<>>>>"
Returns: "o.o.....o.....o.....o.....o.....o.....o.....o...."
"<<<<>>>><<<<>>>><<<<>>>><<<<>>>><<<<>>>><<<<>>>>>"
Returns: "....o.o.....o.o.....o.o.....o.o.....o.o.....o.o.o"
"<<<<<>>>>><<<<<>>>>><<<<<>>>>><<<<<>>>>><<<<<>>>>"
Returns: "o.o.o.......o.o.......o.o.......o.o.......o.o...."
"<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>"
Returns: "........................o.o.o.o.o.o.o.o.o.o.o.o.o"
"<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>"
Returns: "o.o.o.o.o.o.o.o.o.o.o.o.o........................"
"<<<<<<<<<<<<>>>>>>>>>>>><<<<<<<<<<<<>>>>>>>>>>>>>"
Returns: "............o.o.o.o.o.o.............o.o.o.o.o.o.o"
"<<<<<<<<<<<<>>>>>>>>><<<<<<<<<<<<<<<<>>>>>>>>>>>>"
Returns: "o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o"
"<<<<<<<<<<<<<<<>>>>>>>><<<<<<<<<<<<<<>>>>>>>>>>>>"
Returns: "o.o.o.o.o.o.o.o.........o.o.o.o.o.o.o............"
">>>>>>>>>>>>>><<>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<"
Returns: "o...............o.o.o.o.o.o.o.o.................o"
"<<<"
Returns: "..o"
"<>>><"
Returns: "o...."
"<>>><<<"
Returns: "o.....o"
"<<>"
Returns: "..o"
"<<><>"
Returns: "....o"
"<<<>><>"
Returns: "o.o...o"
"<<<><>><<<>"
Returns: "o.o.......o"
"<>><<>>><>><<<<<<>>><"
Returns: "o...o.......o.o.o...."
"<>>>>><><>><<><>>>><<><>>>>><>>"
Returns: "o...........o.......o.........."
"<<><<>>>>>><>>><><>><<>>>>><<>>><<<>><><<"
Returns: "o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.....o"
">>>>>>>><>><>>>>>>>>>>>>>>>>>>>>>><><>>>>>>>>>>><"
Returns: "o...........o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o"
"><<>>>>>>><<>>>>><>>>>>>>>>>>><><>>>>>><>>>>>>><<"
Returns: "o.o.........o.o.o.o.o.o.o.o.o.o.o.o.o...o.o.o...o"
">><<>>><<>><><><<>>><<>>><<<>><>>>>>>>><>>>>><<><"
Returns: "o...o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o"
">><<><<>>>><<<><<>><<<>>><><<>>>>><<<>>><<>><<<><"
Returns: "o...o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o"
"><<<><><>>><><><<<><<>>>>><>><<><><<>>>>><<<>><<<"
Returns: "o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o...o.o.....o...o"
"><<>><<>>><<<<<<>><<<<<<>>><<<><>><<<><>><<><<<><"
Returns: "o.o...o.....o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o"
"><<<><<<<><<><><<>>><<><<<<<<><<<><><<<<<<><<><><"
Returns: "o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o"
"><<<<<<<><<<<<><<<<<<><<<<><<<<<<<<<<<<<<<>>><<<<"
Returns: "o.o.o.o.o.o.o.o.o.o.o.....................o.....o"
"<<>><>>><><>>><><>>>><>>>>><<><><<<<><<>><<>>><<>"
Returns: "o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o...o"
"<><<>>>>><>><<><<<<<>><><<<<>>><><<>><<>><>><<<<>"
Returns: "o...o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o...o.....o"
"<><<><<<<<>>><<><>>>><<>><><>><><<<<>><<<<>>><<><"
Returns: "o...o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o"
"<><>>><>><<>>>><<<<<<<><>>><><>><<<><<<<><<>><<<<"
Returns: "o.........o.....o.o.o.o.o.o.o.o.o.o.o.o.o.o.....o"
"<>>>>>>>>>>>>>>>>>>>><>>><>>>>><>>>>>>><>>>>>>>>>"
Returns: "o.....................o...o.o...o.o.o...o.o.o.o.o"
"<>>>>>>>>>>>>>><>>>>>>>>>>>>>><<>>>>>>>>>>>>>>>"
Returns: "o...............o.o.o.o.o.o.o...o.o.o.o.o.o.o.o"
">><>><>>>>>>><>>>>>>>>><>>>>>>>>>>>>>>>>>>><>"
Returns: "o.....o.o.o...o.o.o.o...o.o.o.o.o.o.o.o.o...o"
"<>>><>>>>>><>>>>>>>>>>>>>>>>>>>>><>>>>>>>><"
Returns: "o...........o.o.o.o.o.o.o.o.o.o...o.o.o.o.o"
"<<><<<><<<<<<<<<<<<<<<<<><<<<<<<<<<<<<<<><<><<>"
Returns: "o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o...o"
"<<><<<<<<<<<<<<<><<<<<<<<<<><<<>><<<<><<<<<<>"
Returns: "o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.......o"
"<<<<<<<<<<<<><<<<<<<<<<<><<><>><<<<<<<<<<<<"
Returns: "o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.............o"
"<<<<<<<<<<><<<<<><<<<<<<<<<><<<<<<<<<<><<"
Returns: "o.o.o.o.o.o.o.o.o.o.o.o.o.o.............o"