How to find the digit previous to a given digit in a number with Scala

1 Answer

0 votes
object DigitFinder {

  def findPreviousDigit(number: Int, target: Int): Int = {
    number
      .toString
      .reverse
      .map(_.asDigit)
      .sliding(2)
      .collectFirst {
        case Seq(curr, previous) if curr == target => previous
      }
      .getOrElse(-1)
  }

  def main(args: Array[String]): Unit = {
    val number = 8902741
    val target = 7

    val result = findPreviousDigit(number, target)

    if (result != -1)
      println(s"The digit befor $target in $number is $result.")
    else
      println(s"The digit $target is not found or has no previous digit in $number.")
  }
}



/*
run:

The digit befor 7 in 8902741 is 2.

*/

 



answered Oct 19 by avibootz
...