프로그래머스

[프로그래머스] 약수의 개수와 덧셈 파이썬

띵지니어 2022. 2. 17. 14:57
반응형

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

 

코딩테스트 연습 - 약수의 개수와 덧셈

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

programmers.co.kr

월간 코드 챌린지 시즌 2

 

 

답안

def solution(left, right):
    answer = 0
    for i in range(left, right + 1):
        cnt = 0
        for j in range(1, i + 1):
            if i % j == 0:  # 약수의 개수 판별
                cnt += 1
        if cnt % 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

 

반응형
목차(index)