프로그래머스 - LV1 - 약수의 개수와 덧셈

박종일·2023년 3월 20일
0

프로그래머스 LV.1

목록 보기
6/26

약수의 개수와 덧셈

문제 설명
두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.

실행 코드

def solution(left, right):
    answer = 0
    for i in range(left , right+1):
        square_root = i**(1/2)   # 제곱근 아이디어 
        
        if int(str(square_root).split(".")[1]) == 0:  # 정수부분 == 0 
            answer -= i   # 빼기
        else:
            answer += i   # 더하기 
    return answer
    

외치자...! 제곱근이 정수면 약수의 개수는 홀수!
자 다시? 제곱근이 정수면 약수의 개수는 홀수!
한번 더! 제곱근이 정수면 약수의 개수는 홀수!

참고 코드

import math

def solution(left, right):
    answer = 0
    for i in range(left, right + 1, 1):
        sqrt = math.sqrt(i)
        if int(sqrt) == sqrt:
            answer -= i
        else:
            answer += i

    return answer

math 라이브러리에서 sqrt 사용도 가능하다!

profile
존경하는 인물: 스토브리그 백승수 단장(남궁민)

0개의 댓글