Factorial Digit Sum
means .
For example, ,
and the sum of the digits in the number is .
Find the sum of the digits in the number .
의 자릿수를 모두 합친 값을 구하는 문제이다. 내가 생각한 구현 방식은 다음과 같다.
string
으로 변환 후 map()
을 통해 각 자릿수로 이루어진 map
객체를 생성 후sum()
을 통해 모든 자릿수의 합을 출력하는 함수를 작성간단하니 한번에 작성해보자
//Python
# n 팩토리얼
def factorial(n):
result = 1;
for i in range (n):
result *= i + 1
return result
# solution
def factorial_digit_sum(n):
factor = str(factorial(n)) # string으로 변환 후
splited_factor = map(int, factor) # 각 글자를 int로 변환하여 map 객체로 생성
return sum(splited_factor) # 모든 자릿수를 더한 값을 출력
print(factorial_digit_sum(100))
>>> 648 #correct
오늘은 여기까지
-2025.01.09-