Преобразовать код в 1 строчку. KOTLIN

Есть такой код (Считает сумму цифр в числе кратных 3):

fun main(args: Array<String>) {
var s = readLine();
var sum = 0;
if(s!=null)
{
    for(c in s)
    {
        if(c.toInt() < 48 || c.toInt() > 58)
        {
            println("Ошибка ввода!")
            return;
        }
        if(c.toString().toInt() % 3 == 0)
        {
            sum+=c.toString().toInt();
        }
    }
    if(sum == 0)
    {
        println("Цифр в числе кратных 3 не было.");
    }
    else
    {
        println("Сумма цифр кратных 3 в числе ${s.toString()} = " + sum)
    }
}

}

Нужно преобразовать его в одно выражение, без учета ввода и вывода, как это можно сделать?


Ответы (1 шт):

Автор решения: Tiarait
"34a56b9".map(Character::getNumericValue).filter{ it.toInt() % 3 == 0 }.sum()

где "34a56b9" - входная строка

введите сюда описание изображения

→ Ссылка