NIRVANA
[DAY-3] 프로그래머스 약수의 합 본문
문제
정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.
제한 사항
- n은 0 이상 3000이하인 정수입니다.
문제 풀이 접근법1
1) for문을 사용하여 1부터 n까지의 수를 n과 나눈다.
2) 만약 나누었을 때의 나머지가 0이면 해당 수를 answer에 더한다
def solution(n):
answer = 0
for i in range(1, n):
if n % i == 0:
answer += i
return answer+n
다른 분들 문제 풀이
def sumDivisor(num):
return sum([i for i in range(1,num+1) if num%i==0])
# 아래는 테스트로 출력해 보기 위한 코드입니다.
print(sumDivisor(12))
list comprehension 사용 빈도수 좀 늘려봐야겠다
'Coding test(Python3) > 스터디' 카테고리의 다른 글
[DAY-6] 백준 9012번 괄호 (0) | 2024.05.22 |
---|---|
[DAY-5] 백준 10773번 제로 (0) | 2024.05.21 |
[DAY-4] 백준 28278번 스택 2 (0) | 2024.05.21 |
[DAY-2] 프로그래머스 문자열을 정수로 바꾸기 (0) | 2024.05.19 |
[DAY-1] 프로그래머스 문자열 내 p와 y의 개수 (0) | 2024.05.18 |