[Review] 월간 코드 챌린지 시즌2 2차 1번 - 약수의 개수와 덧셈

shsh·2021년 5월 29일
0

월간코드챌린지

목록 보기
4/7

약수의 개수와 덧셈 - Level 1

https://programmers.co.kr/learn/courses/30/lessons/77884


My Answer

def solution(left, right):
    answer = 0
    
    for i in range(left, right+1):
        tmp = 0
        for j in range(1, i+1):
            if i % j == 0:
                tmp += 1
        if tmp % 2 == 0:
            answer += i
        else:
            answer -= i
    
    return answer

left ~ right 범위의 숫자들을 보면서 직접 약수의 개수 구해준 후 짝수면 더해주고 홀수면 빼주기


약수의 개수가 홀수 => 제곱수

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 => 제곱수면 int 로 깔끔히 떨어지므로

profile
Hello, World!

0개의 댓글

관련 채용 정보