728x90
반응형
문제
어떤 자리 수 k가 주어졌을 때 각 자릿수의 k 제곱의 합이 원래 수가 되는 수를 자아도취 수라고 합니다. 예를 들어 153은 세 자리 자아도취 수입니다.
자연수 k가 매개변수로 주어질 때, k 자리 자아도취 수들을 리스트에 오름차순으로 담아 return 하도록 solution 함수를 작성하려 합니다. 빈칸을 채워 전체 코드를 완성해주세요.
매개변수 설명
k가 solution 함수의 매개변수로 주어집니다.
* k는 3 이상 6 이하인 자연수입니다.
return 값 설명
k 자리 자아도취 수를 오름차순으로 정렬한 뒤 리스트에 담아 return 합니다.
예시
k |
return |
3 |
[153, 370, 371, 407] |
예시 설명
* 153 = 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153
* 370 = 3^3 + 7^3 + 0^3 = 27 + 343 + 0 = 370
* 371 = 3^3 + 7^3 + 1^1 = 27 + 343 + 1 = 371
* 407 = 4^3 + 0^3 + 7^3 = 64 + 0 + 343 = 407
Python
def armstrong(n,k):
sum = 0
init = n
while n!=0:
sum+= (n%10)**k
n//=10
return sum == init
def solution(k):
result =[]
for i in range(10**(k-1), 10**k):
if armstrong(i,k):
result.append(i)
return result
for k in range(3,7):
print("k =",k,solution(k))
'''
k = 3 [153, 370, 371, 407]
k = 4 [1634, 8208, 9474]
k = 5 [54748, 92727, 93084]
k = 6 [548834]
'''
728x90
반응형
'Algorithm Problems' 카테고리의 다른 글
[Cos Pro 1급] 6차 4번 - 카드 뭉치 (0) | 2021.02.16 |
---|---|
[Cos Pro 2급] 4차 3번 - 카드 게임 (0) | 2021.02.14 |
[Cos Pro 2급] 5차 10번 - 교대 근무 일등 (0) | 2021.02.07 |
[Cos Pro 2급] 5차 9번 - 학생별 석차 출력 (0) | 2021.02.06 |
[Cos Pro 2급] 4차 1번 - 사다리타기 (0) | 2021.02.06 |