45화 - Persistent Bugger - Codewars Kata (6큐)
You can support by buying a coffee ☕️
Follow me on Github
지침
일:
양수 매개변수 num을 받아서 곱셈 지속성을 반환하는 지속성 함수를 작성하세요. 이는 한 자리 수에 도달할 때까지 num의 숫자를 곱해야 하는 횟수입니다.
예시
39 --> 3 (because 3*9 = 27, 2*7 = 14, 1*4 = 4 and 4 has only one digit)
999 --> 4 (because 9*9*9 = 729, 7*2*9 = 126, 1*2*6 = 12, and finally 1*2 = 2)
4 --> 0 (because 4 is already a one-digit number)
내 솔루션:
function persistence(num) {
let count = 0;
while(num.toString().length > 1){
num = num.toString().split('').reduce((acc,el)=>acc *= +el,1)
count++
}
return count
}
설명
먼저 count라는 변수를 만들었습니다. 여기서 숫자를 곱해야 하는 횟수를 저장하여 한 자리만 얻습니다.
let count = 0;
그런 다음 숫자의 길이가 1이 될 때까지 반복되는 while 루프를 사용했습니다.
while(num.toString().length > 1)
while 루프 내에서 변수 "num"을 재평가하여 숫자의 곱셈 결과를 저장했습니다. 숫자를 배열로 분할하여 이 작업을 수행한 다음 곱셈 결과를 저장하기 위해 reduce 함수를 사용했습니다. 숫자의.
Note: In the next iteration of the loop the variable "num" will be the result of the multiplication from the last digits
그 후 방금 count 변수에 하나를 추가했습니다.
num = num.toString().split('').reduce((acc,el)=>acc *= +el,1)
count++
결국 나는 방금 카운트를 반환했습니다.
return count
이 솔루션에 대해 어떻게 생각하십니까? 👇🤔
Solve this Kata 👨🏽💻
Reference
이 문제에 관하여(45화 - Persistent Bugger - Codewars Kata (6큐)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/cesar__dlr/45-persistent-bugger-codewars-kata-6-kyu-4ah4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)