새로운 FSM 설계 기법을 공부하고, FSM 구조를 잡는 고민만 하다가 하루가 간 것 같다.
급하면 안되지만,, 그래도 너무 더디다..
일단 생각난 것 적어보면
일단 여기까지..
프로그래머스의 문제 "기사단원의 무기" 문제에 내가 전에 공부한 약수의 개수를 찾는 알고리즘을 적용시켜봤다.
public class Solution {
public int solution(int number, int limit, int power) {
int answer = 0;
for(int i = 1; i <= number; ++i)
{
int attack = DivisorCount(i);
if(attack <= limit)
answer += attack;
else
answer += power;
}
return answer;
}
public int DivisorCount(int num)
{
int count = 0;
for(int i = 1; i * i <= num; ++i)
{
if(i * i == num)
++count;
else if (num % i == 0)
count += 2;
}
return count;
}
}
DivisorCount
가 매개변수의 약수의 개수를 찾아주는 함수이다.