목요일에 보는 시험 준비 때문에 요즘 코딩 공부를 잘 못하고 있다... 빨리 시험이 끝나고 학교 졸업요건을 채우고 나서 코딩에 집중하고 싶은 마음이 굴뚝같다.
오늘은 어제 공부한 확장함수를 코드카타를 풀 때 조금이라도 응용하려고 했다.
문제: 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다.
놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요.
단, 금액이 부족하지 않으면 0을 return 하세요.
정답
class Solution {
fun solution(price: Int, money: Int, count: Int): Long {
var array = Array(count){(it+1) * price.toLong()}.sum()
return if(array > money) (array - money)
else 0L
}
}
내가 작성한 정답을 보면 var array = Array(count){(it+1) * price.toLong()}.sum() 라고 작성한 코드가 있다.
예전같았으면 빈 배열을 생성해서 또 for문을 통해 하나하나 다 더하는 코드를 짰겠지만 최대한 확장함수를이용해 간단히 구성해봤다.
'TIL' 카테고리의 다른 글
TIL - 23.12.26 (1) | 2023.12.26 |
---|---|
TIL - 23.12.20 (1) | 2023.12.20 |
TIL - 23.12.18 (0) | 2023.12.18 |
TIL - 23.12.14 (0) | 2023.12.15 |
TIL - 23.12.12 (0) | 2023.12.12 |