Advertisement
saurav_kalsoor

Reduce String - KOTLIN

May 17th, 2022
360
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Author : Saurav Kalsoor
  2. // Reduce String - KOTLIN
  3.  
  4. import java.util.*
  5.  
  6. var sc: Scanner = Scanner(System.`in`)
  7.  
  8. fun main() {
  9.     val n: String = sc.next()
  10.     println(reduceString(n))
  11. }
  12.  
  13. fun reduceString(originalString: String): String? {
  14.     var originalString = originalString
  15.     if (originalString.length <= 2)
  16.         return originalString
  17.     val newString = ""
  18.     originalString = recurse(originalString, newString)
  19.     return reduceString(originalString)
  20. }
  21.  
  22. fun recurse(oldString: String, newString: String): String {
  23.     var oldString = oldString
  24.     var newString = newString
  25.    
  26.     if (oldString.isEmpty())
  27.         return newString
  28.    
  29.     val n = oldString.length
  30.    
  31.     if (n == 1) {
  32.         return newString + oldString
  33.     }
  34.     val first = oldString[0] - '0'
  35.     val last = oldString[n - 1] - '0'
  36.     val sum = first + last
  37.     oldString = oldString.substring(1, n - 1)
  38.     newString += Integer.toString(sum)
  39.     return recurse(oldString, newString)
  40. }
  41.  
  42.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement