retos-programacion-2023 icon indicating copy to clipboard operation
retos-programacion-2023 copied to clipboard

Reto #0/kotlin/cristobalbelcor.kt

Open cristobalbelcor opened this issue 1 year ago • 0 comments

/*

  • Escribe un programa que reciba un texto y transforme lenguaje natural a
  • "lenguaje hacker" (conocido realmente como "leet" o "1337"). Este lenguaje
  • se caracteriza por sustituir caracteres alfanuméricos.
    • Utiliza esta tabla (https://www.gamehouse.com/blog/leet-speak-cheat-sheet/)
  • con el alfabeto y los números en "leet".
  • (Usa la primera opción de cada transformación. Por ejemplo "4" para la "a") */

fun main() {

println(traductor("Este es un mensaje de prueba para validar si funciona"))

}

private fun traductor(text : String): String{

var tradText  = ""

val trad = mapOf("A" to "4","B" to "I3", "C" to "[", "D" to ")", "E" to "3", "F" to "|=", "G" to "&", "H" to "#",
    "I" to "1", "J" to ",_|", "K" to ">|", "L" to "|_", "M" to "|V|", "N" to "^/", "O" to "0", "P" to "|*", "Q" to "(_,)",
    "R" to "I2", "S" to "5", "T" to "7", "U" to "(_)", "V" to "\\/", "W" to "\\/\\/", "X" to "><", "Y" to "j", "Z" to "2","1" to "L",
    "2" to "R", "3" to "E", "4" to "A", "5" to "S", "6" to "b", "7" to "T", "8" to "B", "9" to "g", "0" to "o")

for (word in text){
    val caracter = word.toString().uppercase()
    tradText  += if (trad.containsKey(caracter)){
        trad[caracter]
    }else{
    word.toString()
    }
}

return tradText

}

cristobalbelcor avatar Aug 11 '24 16:08 cristobalbelcor