The problem
Given a string str
, reverse it omitting all non-alphabetic characters.
Examples:
For str = "krishan"
, the output must be "nahsirk"
.
For str = "ultr53o?n"
, the output must be "nortlu"
.
Enter/Output:
A string consists of lowercase Latin letters, digits, and symbols.
The answer in Kotlin
Possibility 1:
enjoyable reverseLetter(str: String): String {
return str.filter(Char::isLetter).reversed()
}
Possibility 2:
enjoyable reverseLetter(str: String) = str.reversed().filter{ it.isLetter() }
Possibility 3:
enjoyable reverseLetter(str: String): String = str.change(Regex("[^a-zA-Z]"), "").reversed()
Take a look at circumstances to validate our answer
import kotlin.take a look at.assertEquals
import org.junit.Take a look at
class TestReverseLetter {
@Take a look at
enjoyable `Primary Checks` () {
val str = "krishan"
assertEquals("nahsirk", reverseLetter("krishan"))
assertEquals("nortlu", reverseLetter("ultr53o?n"))
assertEquals("cba", reverseLetter("ab23c"))
assertEquals("nahsirk", reverseLetter("krish21an"))
}
}