본문 바로가기

프로그래머스 문제풀이/lv1

프로그래머스 77884 Python / 약수의 개수와 덧셈

안녕하세요.

 

이번엔 프로그래머스 lv1 77884번 약수의 개수와 덧셈 문제를 파이썬으로 풀어보겠습니다.

링크는 다음과 같습니다.

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

 

프로그래머스

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

programmers.co.kr

 


풀이

 

확실히 프로그래머스가 깔끔하고 설명도 자세해서 풀기는 편한 것 같습니다.

약수의 갯수를 구할 때는, 여러 방법이 있겠습니다만 가장 간단한 방법은

1부터 해당 숫자까지 반복문을 돌리고,

해당 숫자를 반복문 인덱스로 나눈 나머지가 0이면 약수입니다.

 

파이썬으로 코드를 짜면 이렇게 되겠습니다.

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

 

left부터 right까지, 반복문을 돌린 후,

약수를 구하고 약수의 갯수가 짝수인지 홀수인지 판별하는 코드입니다.

 

감사합니다.