Hi, There!
안녕하세요, 바오밥입니다.
목차
- 문제
- 풀이
문제
문제 내용
어떤 자리 수 k가 주어졌을 때 각 자릿수의 k 제곱의 합이 원래 수가 되는 수를 자아도취 수라고 합니다.
예를 들어 153은 세 자리 자아도취 수입니다.
자연수 k가 매개변수로 주어질 때, k 자리 자아도취 수들을 리스트에 오름차순으로 담아 return 하도록 solution 함수를 작성하려 합니다.
빈칸을 채워 전체 코드를 완성해주세요.
매개변수 설명
k가 solution 함수의 매개변수로 주어집니다.
- k는 3 이상 6 이하인 자연수입니다.
return 값 설명
k 자리 자아도취 수를 오름차순으로 정렬한 뒤 리스트에 담아 return 합니다.
예시
예시 설명
- 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^3 = 27 + 343 + 1 = 371
- 407 = 4^3 + 0^3 + 7^3 = 64 + 0 + 343 = 407
풀이
풀이 코드 및 해설
# base를 exponent만큼 제곱하여 반환
def power(base, exponent):
val = 1
for i in range(exponent):
val *= base
return val
def solution(k):
answer = []
bound = power(10, k) # 바운더리(영역)를 지정
for i in range(bound // 10, bound): # k가 3인 경우 세 자리수 반복(100~999)
current = i # 100..199까지 반복
calculated = 0 # current 숫자와 비교할 변수
while current != 0:
calculated += power(current%10,k) # 153 -> 3, 3 -> 27 => ...
# 각 자릿수별로 k 제곱 값을 누적
current //= 10 # 153 => 15 => 1 => 0
if calculated == i: # 두 수가 같으면
answer.append(i) # 자아도취 수 리스트에 추가
return answer
'Certificate > Cert - Cos Pro 1급' 카테고리의 다른 글
[Cos Pro 1급] 기출문제 4회차, 분침과 시침의 각도 구하기 (0) | 2021.07.16 |
---|---|
[Cos Pro 1급] 기출문제 4회차, RPG 스토리 (0) | 2021.07.16 |
[Cos Pro 1급] 기출문제 4회차, 규칙에 맞는 숫자 생성 (0) | 2021.07.16 |
[Cos Pro 1급] 기출문제 4회차, 마방진 문제 (0) | 2021.07.16 |
[Cos Pro 1급] 기출문제 4회차, 스키장 최소 비용 구하기 (0) | 2021.07.16 |