알고리즘(백준, 프로그래머스)/[프로그래머스] Lv1

[프로그래머스] Lv1. 약수의 갯수와 합- 파이썬(Python)

마법사 코딩공주 2023. 5. 9. 15:47
728x90
반응형

문제링크 : https://school.programmers.co.kr/learn/courses/30/lessons/77884

 

프로그래머스

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

programmers.co.kr

📝 문제설명

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

🔗 제한 사항

- 1 ≤ left ≤ right ≤ 1,000

🔗입출력예


👉 문제풀이

  • 문자열 s를 리스트로 변환하고, sorted 함수를 이용하여 리스트를 역순으로 정렬
  • join 함수를 이용하여 리스트를 문자열로 변환한 후, 결과를 반환
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
728x90
반응형