Vacuum Cleaner Route

# Vacuum Cleaner Route

Given a string representing the sequence of moves a robot vacuum makes, return whether or not it will return to its original position. The string will only contain `L`, `R`, `U`, and `D` characters, representing left, right, up, and down respectively.

Ex: Given the following strings...

``````"LR", return true
"URURD", return false
"RUULLDRD", return true``````

This problem can be solved in following steps :-

1. Create two variables UD and LR with initial value Zero representing Up-Down and Left-Right respectively.
2. Traverse the String indices.
3. If character is ‘L’, then increase value of variable LR by 1 and if character is ‘R’, then decrease the value of variable LR by 1.
4. If character is ‘U’, then increase value of variable UD by 1 and if character is ‘D’, then decrease the value of variable UD by 1.
5. If value of both LR and UD is zero, then return true, otherwise return false.
``````fun main() {
val route = "LRLR"

print(returnToPosition(route))
}

fun returnToPosition(route: String): Boolean {
var UD = 0
var LR = 0

for(i in route.indices) {
if(route[i] == 'L'){
LR++
} else if (route[i] == 'R') {
LR--
} else  if(route[i] == 'U'){
UD++
} else if (route[i] == 'D') {
UD--
}
}
return LR == 0 && UD == 0
}``````