반응형
이전 글에서 자바로 꼬리재귀(TCO) 구현을 설명했다. 하지만 내용이 쉽지 않았는데 코틀린은 tailrec 키워드를 제공하면서 가독성 좋게 구현이 가능하다.
@Test
fun factorialTest() {
print(factorial(5))
}
tailrec fun factorial(num: Int, acc: Int = 1): Int = when (num) {
1 -> acc
else -> factorial(num - 1, acc * num)
}
일반 재귀 버전
fun factorial(num: Int): Int {
if (num == 1) {
return 1
}
return num * factorial(num - 1)
}
반응형
'Kotlin' 카테고리의 다른 글
DID 스터디 3회차(kotlin let/run/also/apply/with) (0) | 2023.03.18 |
---|---|
fixture monkey BuilderGroups (0) | 2021.12.27 |
fixture monkey 로 예외 발생 테스트 (0) | 2021.12.15 |
form data 를 string으로 변환하기 (0) | 2021.11.15 |