Dia Egg - Shugo Chara

Python공부/프로그래머스

(Python)약수의 개수와 덧셈(프로그래머스 Lv.1)/한줄코딩참고자료

별ㅇI 2023. 6. 13. 03:09
728x90
반응형

약수의 개수와 덧셈(프로그래머스 Lv.1)

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

나의 코드

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

베스트 풀이

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

약수가 홀수개인 모든 수는 제곱수라고 하더라,,,,

몰랐는데 진짜 명석하다고 느꼈다. 

한줄코딩

def solution(left, right):
    return sum([-n if int(n ** 0.5) == n ** 0.5 else n for n in range(left, right+1)])

 

728x90
반응형