[문제]

[풀이]
def solution(number, limit, power):
attack = []
answer = 0
for i in range(1, number + 1):
num = 0
for j in range(1, int(i**0.5) + 1):
if i % j == 0:
if j == i//j:
num += 1
else:
num += 2
attack.append(num)
for i in attack:
if i > limit:
answer += power
else:
answer += i
return answer
- 약수 찾을때 굳이 for문 끝까지 안돌아도 됨!
- 시간 복잡도 O(N√N)로 풀기 가능
[링크]
https://school.programmers.co.kr/learn/courses/30/lessons/136798
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
'CodingTest > Programmers' 카테고리의 다른 글
| [프로그래머스 Lv1] 비밀지도(python, 구현) (0) | 2025.08.07 |
|---|---|
| [프로그래머스 Lv1] 폰켓몬(python, 해시) (0) | 2025.08.07 |
| [프로그래머스 Lv1] 모의고사(python, 완전탐색) (0) | 2025.08.07 |
| [프로그래머스 Lv1] 2016년(python, 구현) (0) | 2025.08.07 |
| [프로그래머스 Lv2] 피보나치 수(python, DP) (0) | 2025.04.10 |
