map() 과 sum() 함수를 이용하면 짧은 줄록 총 비용을 구할 수 있다
val amount = (1..count).map { it * price }.sum()
코드 실행시간이 좀 긴거 같은데
이러면 map 이 돌아갈때 O(n), sum() 이 돌아갈때 O(n) 으로 시간 복잡도가 O(n^2) 이 된다
class Solution {
fun solution(price: Int, money: Int, count: Int): Long {
var amount: Long = 0
for (i in 1 .. count) {
amount += i * price
}
return if (amount > money) amount - money else 0
}
}
반복문을 한번만 돌리면서 총 비용을 구한 다음 조건문을 반환하면 시간복잡도가 O(n) 이다
이제 좀 빨라졌다