[04.27.22] Coding test

Juyeon.it·2022년 4월 27일
0

Coding test

목록 보기
16/32

Perimeter of squares in a rectangle

Description

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
Could you give the sum of the perimeters of all the squares in a rectangle when there are n + 1 squares disposed in the same manner.
Hint: See Fibonacci sequence
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

My answer

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

0개의 댓글

관련 채용 정보