728x90
반응형
약수의 개수와 덧셈(프로그래머스 Lv.1)
https://school.programmers.co.kr/learn/courses/30/lessons/77884
나의 코드
def solution(left, right):
answer = 0
for i in range(left,right+1):
result = 0
for j in range(1,i+1):
if i%j == 0:
result+=1
if result%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
약수가 홀수개인 모든 수는 제곱수라고 하더라,,,,
몰랐는데 진짜 명석하다고 느꼈다.
한줄코딩
def solution(left, right):
return sum([-n if int(n ** 0.5) == n ** 0.5 else n for n in range(left, right+1)])
728x90
반응형
'Python공부 > 프로그래머스' 카테고리의 다른 글
(Python)부족한 금액 계산하기(프로그래머스 Lv.1)/max()의 활용 (0) | 2023.06.13 |
---|---|
(Python)문자열 내림차순(프로그래머스 Lv.1)/ord(),chr() (0) | 2023.06.13 |
(Python)내적(프로그래머스 Lv.1)/zip함수활용 (0) | 2023.06.13 |
(Python)가운데 글자 가져오기(프로그래머스 Lv.1) (0) | 2023.06.13 |
(Python)제일 작은 수 제거하기(프로그래머스 Lv.1) (0) | 2023.06.13 |