본문 바로가기
프로그래머스/Python

[프로그래머스] 약수의 개수와 덧셈 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트

by 우당탕탕 개발자 2023. 7. 1.
728x90
반응형

 

 

프로그래머스

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

programmers.co.kr

 

1. 문제 설명

2. 풀이과정

  1. 입력받은 매개변수 left와 right 사이의 수들을 모두 고려해야 하므로 반복문을 사용한다. for i in range(left, right + 1)
  2. 약수의 개수를 저장해 줄 변수를 선언하고 초기화해 준다. count = 0
  3. 약수를 구하려면 1부터 자기 자신까지 나눠봐야 하므로 반복문을 사용한다. for j in range(1, i + 1)
  4. left와 right 사이의 수가 1부터 자기 자신까지 수 중 나눠 떨어지는 수가 있으면 if (i % j == 0)
  5. 약수이므로 약수의 개수를 1 증가시킨다. count += 1
  6. 해당 수의 약수를 모두 찾은 뒤, 약수의 개수가 짝수이면 if (count % 2 == 0)
  7. 해당 수를 더해준다. answer += i
  8. 반면에 약수의 개수가 홀수이면 else
  9. 해당 수를 빼준다. answer -= i
반응형

3. 소스코드

def solution(left, right):
    answer = 0
    
    for i in range(left, right + 1):
        count = 0
        for j in range(1, i + 1):
            if (i % j == 0):
                count += 1
        
        if (count % 2 == 0):
            answer += i
        else:
            answer -= i
            
    return answer
728x90
반응형