개발/Quiz

Take a Number And Sum Its Digits Raised To The Consecutive Powers And ....¡Eureka!!

Taekyuu 2017. 12. 11. 22:20

문제 링크

https://www.codewars.com/kata/take-a-number-and-sum-its-digits-raised-to-the-consecutive-powers-and-dot-dot-dot-eureka/train/python


내 답

def sum_dig_pow(a, b):
list = []
for i in range(a,b+1):
sum = 0
for n,k in enumerate(str(i),1):
sum += int(k)**n
if i == sum:
list.append(i)
return list


득점 많은 답

def dig_pow(n):
return sum(int(x)**y for y,x in enumerate(str(n), 1))

def sum_dig_pow(a, b):
return [x for x in range(a,b + 1) if x == dig_pow(x)]