Coding Test Practice/Python
[프로그래머스 코딩테스트 연습 Lv. 1] 기사단원의 무기
y2r1m
2023. 3. 13. 03:17
https://school.programmers.co.kr/learn/courses/30/lessons/136798
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
def solution(number, limit, power):
cnt_list = []
for num in range(1, number+1): # 1부터 number까지 각각 약수 개수 구하기
cnt = 0
for n in range(1, int((num+1)**(1/2))+1):
if num % n == 0 and n**2 != num:
cnt += 2 # 약수는 항상 짝을 가지므로 짝 개수까지 한 번에 계산
if n**2 == num:
cnt += 1
cnt_list.append(cnt)
for i in range(len(cnt_list)):
if cnt_list[i] > limit:
cnt_list[i] = power
answer = sum(cnt_list)
return answer