Perimeter of squares in a rectangle ( 5 kyu )

문제

The drawing shows 6 squares the sides of which have a length of 1, 1, 2, 3, 5, 8. It’s easy to see that the sum of the perimeters of these squares is : 4 (1 + 1 + 2 + 3 + 5 + 8) = 4 20 = 80

The function perimeter has for parameter n where n + 1 is the number of squares (they are numbered from 0 to n) and returns the total perimeter of all the squares.

perimeter(5)  should return 80
perimeter(7)  should return 216

정사각형을 이어붙힌 뒤에 둘레를 구하는 문제

피보나치 수열을 이용하라고 쓰여있음.

풀이

function perimeter(n) {
  let arr = [1,1];
  for ( let i = 2; i <= n; i++ ) {
    arr[i] = arr[i-1] + arr[i-2];
  }
  return 4*arr.reduce((a,b) => { return a+b });
}

원소의 개수가 n개인 피보나치 수열을 만든 뒤 합을 구한 뒤 4를 곱해서 리턴

다른 사람의 풀이

똑같넴


'자료구조, 알고리즘 > Codewars 문제' 카테고리의 다른 글

Two Joggers ( 5 kyu )  (0) 2017.11.30
First non-repeating character ( 5 kyu )  (0) 2017.11.30
Palindrome chain length ( 5 kyu )  (0) 2017.11.29
Tribonacci Sequence ( 6 kyu )  (0) 2017.11.28
Valid Braces ( 4 kyu )  (0) 2017.11.27

+ Recent posts