CodeWars 예순 다섯 번째 문제
Updated:
Fibonacci, Tribonacci and friends
public double[] xbonacci(double[] signature, int n) {
double[] xbonacciArray = Arrays.copyOf(signature, n);
int count = signature.length;
for(int i = count; i < n ; i++) {
xbonacciArray[i] = calculateXbonacci(i, xbonacciArray, count);
}
return xbonacciArray;
}
private double calculateXbonacci(int i, double[] xbonacciArray, int count) {
double sum = 0;
for(int j = i-count; j < i; j++) {
sum+=xbonacciArray[j];
}
return sum;
}
- 다중 피보나치(?)를 구현한 문제이다.
- 기존의 피보나치와 다르게 singatrue의 배열 개수에 따라서 앞의 몇 개를 더할 것인가가 관건이었다.
- 근데 이 문제의 문제는 배열의 값인 double이다.
- 처음 문제를 풀었는데 spring에서는 잘 돌아가던게 사이트에서는 오류가 발생하였다.
- 그래서 내가 잘못 푼건가 해서 discuss에 들어가보니… double형이 문제인 소수점 문제였다.
- 그래서 몇번 제출을 하니 성공이 되었다. (이건 사이트에서 수정해줘야 할듯)
- 차라리 그냥 int나 float으로 하지;; 당황했네