C++)
#include <cmath>
using namespace std;
int GetDivisor(int number){
int ans = 0;
for (int i = 1; i <= sqrt(number); i++) {
if (number % i == 0) {
if (i*i == number)
ans += 1;
else
ans += 2;
}
}
return ans;
}
int solution(int number, int limit, int power) {
int ans = 0;
for (int num = 1; num <= number; num++) {
int temp = GetDivisor(num);
ans += (temp > limit) ? power : temp;
}
return ans;
}
Python)
def GetDivisor(num):
ans = 0
for i in range(1, int(num**0.5)+1):
if num % i == 0:
ans += (1 if i * i == num else 2)
return ans
def solution(number, limit, power):
ans = 0
for num in range(1, number+1):
temp = GetDivisor(num)
ans += (power if temp > limit else temp)
return ans'프로그래머스 > Level1' 카테고리의 다른 글
| [Level1] 최대공약수와 최소공배수 (C++/Python) (0) | 2023.05.18 |
|---|---|
| [Level1] 폰켓몬 (C++/Python) (0) | 2023.05.17 |
| [Level1] 비밀지도 (C++/Python) (0) | 2023.05.16 |
| [Level1] 크기가 작은 부분 문자열 (C++/Python) (0) | 2023.05.15 |
| [Level1] 문자열 내 마음대로 정렬하기 (C++/Python) (0) | 2023.05.14 |