본문 바로가기

알고리즘풀이/프로그래머스

약수의 개수와 덧셈

👉 사용 언어 : PYTHON3

 

✅ Solution

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

 

👉 아이디어

  • 약수는 항상 대칭이므로 개수는 짝수가 된다.
  • BUT _ 제곱근 이 약수로 존재하면 +1개이므로 약수의 개수가 홀수가 된다.
    • 제곱근 : i ** (1/2)

 다른 사람 풀이 참고

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

 

👉 동일하게 풀이함

'알고리즘풀이 > 프로그래머스' 카테고리의 다른 글

합성수 찾기  (0) 2024.01.24
외계어 사전  (0) 2024.01.21
바탕화면 정리  (0) 2024.01.19
삼각형의 완성조건(2)  (0) 2024.01.18
[1/25] Kakao Internship 기출문제 풀이  (0) 2024.01.18