인천의 자유인

[Python] 약수의 개수와 덧셈 -프로그래머스(Lv.1) 본문

Python/Python코딩테스트

[Python] 약수의 개수와 덧셈 -프로그래머스(Lv.1)

Youngook 2024. 5. 18. 09:36
728x90
반응형

 

 

나의 문제 풀이

def solution(left, right):
    num = 0
    for x in range(left,right+1):
        answer = 0
        for y in range(1,x+1):
            if x%y == 0: 
                answer+=1
        if answer%2 == 0:
            num += x
        elif answer%2 ==1:
            num -= x
    return num

 

num은 최종 연산을 return하기 위한 변수입니다.

먼저 작은 수부터 큰 수까지 한번식 루프를 돌립니다. 그런 다음 이중 for문으로 x의 약수의 개수를 찾습니다. 그리고 answer+=1를 통해 약수가 나오면 1씩 증가해서 개수를 구한 다음 약수의 개수가 홀수인지 짝수인지 확인하는 조건을 실행합니다.

 만약 짝수의 개수가(answer) 짝수라면 num변수에서 x만큼을 더하고 그것이 아니면 x만큼을 빼도록 합니다. 이렇게 한바퀴를 돌면 answer을 0으로 초기화해줍니다. 이렇게 한 이유는 수마다 약수의 개수를 하나씩 구해야 하기 때문입니다. for문 실행을 마치면 이젠 num의 최종 결과를 return해서 프로그램을 종료합니다.

728x90
반응형