[코테] 약수의 합

HOU·2022년 6월 21일
0

코딩테스트

목록 보기
19/24
post-thumbnail

⛅문제

약수의 합

⛅문제 설명

정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.

제한사항

  • n은 0 이상 3000이하인 정수입니다.

⛅해결법

  1. 약수를 구하는 가장 흔한 방법 for문을 돌려서 해결!

⛅풀이법

나의 풀이

def solution(n):
	answer = ''
    for i in range(1, n+1):
    	if n % i == 0:
        	answer += i

남의 풀이

def solution(n):
    return n + sum([i for i in range(1, (n // 2) + 1) if n % i == 0])

⛅소감

약수를 반으로 나누어서 해결해서 성능을 높이다니. 짱이다 반복문을 절반만 돌리면 되니까.
저런 머리가 안돌아가네 아쉽다!

profile
하루 한 걸음 성장하는 개발자

0개의 댓글