Advertisement
Guest User

Day1.kt

a guest
Dec 1st, 2017
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 0.51 KB | None | 0 0
  1. fun seeAndAdd(input: String): Int {
  2.   return seeAndAdd(input, offset = 1)
  3. }
  4.  
  5. fun seeAndAddP2(input: String): Int {
  6.   return seeAndAdd(input, offset = input.length / 2)
  7. }
  8.  
  9. fun seeAndAdd(input: String, offset: Int): Int {
  10.   fun CharSequence.nextWrap(index: Int, offset: Int) = this[(index + offset) % this.length]
  11.   fun Char.parseInt() = Integer.parseInt(this.toString())
  12.  
  13.   return input.foldIndexed(0) { index, acc, char ->
  14.     if (char == input.nextWrap(index, offset)) char.parseInt() + acc else acc
  15.   }
  16. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement