Prg-Lv.0-다음에 올 숫자

이은지·2022년 12월 12일
0

코딩테스트

목록 보기
31/76

문제

등차수열 혹은 등비수열 common이 매개변수로 주어질 때, 마지막 원소 다음으로 올 숫자를 return 하도록 solution 함수를 완성해보세요.

입출력 예 설명

common = [1, 2, 3, 4] / result = 5
[1, 2, 3, 4]는 공차가 1인 등차수열이므로 다음에 올 수는 5이다.
common = [2, 4, 8] / result = 16
[2, 4, 8]은 공비가 2인 등비수열이므로 다음에 올 수는 16이다.

풀이

function solution(common) {
  //만약 1번숫자-0번숫자 === 2번숫자-1번숫자 이면
  if (common[1] - common[0] === common[2] - common[1]) {
    //common의 마지막 숫자 + (1번-0번)
    return common.pop() + common[1] - common[0];
  } else {
    //(common의 마지막 숫자 * 1번숫자) / 0번숫자
    return (common.pop() * common[1]) / common[0];
  }
}

등차수열인지 등비수열인지 검사해서 차이만큼 common 배열 요소 끝에 추가한다
차이를 계산하는것 까지는 알았는데 등비인지 등차인지에 따른 조건을 세우지 못했다

0개의 댓글