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

병찬·2022년 3월 27일
0

프로그래머스

목록 보기
25/52
post-thumbnail

문제📝


풀이💡

  • 이중 for문으로 left부터 right까지의 수가 1부터 i까지 나눈 나머지가 0이면 cnt를 1 더한다.
  • cnt가 짝수면 i를 answer에 더하고 cnt가 홀수면 i를 answer에서 뺀다.

코드💻

# 프로그래머스 Lv1 - 약수의 개수와 덧셈
# 문제링크: https://programmers.co.kr/learn/courses/30/lessons/77884

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

결과😎


느낀점👨‍💻

처음에는 문제를 잘못된 방향으로 풀어서 실패했다가 left부터 right까지 for문을 돌리고 그 다음 for문으로 나눈 나머지가 0이면 약수의 개수가 추가되게 해서 풀었다. 시간이 걸린만큼 알고리즘 짜는 실력이 더 늘은 것 같다.


Sinbmil의 알고리즘 문제 코드

-> https://github.com/Sinbmil/Algorithm-Study

profile
코딩을 열심히 하고 있습니다:)

0개의 댓글

관련 채용 정보