[프로그래머스](python) 약수의 개수와 덧셈 - 월간 코드 챌린지 시즌2

berry ·2021년 8월 2일
0

Algorithm

목록 보기
57/77
post-thumbnail

문제


🧩 수도 코드

def solution(left, right):
for i range(left, right+1):
for j range(1, i+1):
약수 판별 함수
answer += i
answer -= i
return answer


🏁 내 코드

def solution(left,right):
    def prime(n):
        return [i for i in range(1,n+1) if n%i==0]
    answer = 0
    for number in range(left, right+1):
        if len(prime(number)) %2==0:
            answer += number
        else:
            answer -= number
    return answer 

time: 1.1920928955078125e-06
겹for문 대신 약수 구하는 함수를 짧게 넣었다!


📌 다른 코드

def solution(left, right):
    answer = 0
    for i in range(left,right+1):
        if int(i**0.5)==i**0.5:
            answer -= i
        else:
            answer += i
    return answer
if int(i**0.5)==i**0.5:

제곱근이면 answer -= i
제곱근이면 약수의 개수가 홀수 (처음 앎)


profile
Engineer

0개의 댓글