classSolution{
funsolution(a: Int, b: Int): Long {
var result = 0Lwhen {
a == b -> result = a.toLong()
a < b -> for(n in a .. b) result += n
a > b -> for(n in b .. a) result += n
}
return result
}
}
두 정수 사이의 합을 구하는 문제이다.
a와 b를 파라미터로 받고 대소 관계를 따져서 그에 맞는 for문을 돌려주어 문제를 해결하였다.
그런데 이 코드보다 더 효율적인 코드를 찾았다.
classSumBetweenTwoIntegers{
funsolution(a: Int, b: Int): Long = (abs(a - b) + 1L) * (a + b) / 2
}