- 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.
def solution(n):
result = [] # 리스트 생성
for i in range(1,n+1): # 약수를 찾을 범위 구하기
if (n % i == 0): # 범위내의 숫자로 자기자신을 나누어 떨어지거나 0이 되면 약수
result.append(i) # 약수를 리스트에 추가
return sum(result) # 구해진 약수를 합해준다
#
range(1,n+1)
: 약수는 1과 자신을 포함한다.
: 1부터 n까지 범위 구하기
: range 가 실행될 때마다 i 에 저장
n % i == 0
: 정수 n 을 i 로 나누어 0으로 떨어지는게 조건(약수)
append()
: 리스트의 끝에 새로운 요소 추가
파이썬에서 약수를 구할 수 있다는게 신기하다!!
약수 범위 구하기 부터, 어떤 정수가 약수인지 구하는 방법을 외워둬야겠다
'파이썬 코드카타' 카테고리의 다른 글
x만큼 간격이 있는 n개의 숫자 # range() (0) | 2024.03.28 |
---|---|
나머지가 1이 되는 수 찾기 # range() (0) | 2024.03.28 |
자릿수 더하기 # 문자열 str (0) | 2024.03.27 |
짝수와 홀수 # if 삼항연산자, %2==0 과 %2 (0) | 2024.03.27 |
배열의 평균값 # sum() 함수, len() 함수 (0) | 2024.03.27 |