[프로그래머스] Lv.0 다음에 올 숫자 JavaScript

Janet·2023년 4월 24일
0

Algorithm

목록 보기
166/314

문제 설명

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


제한사항

  • 2 < common의 길이 < 1,000
  • 1,000 < common의 원소 < 2,000
    • common의 원소는 모두 정수입니다.
  • 등차수열 혹은 등비수열이 아닌 경우는 없습니다.
  • 등비수열인 경우 공비는 0이 아닌 정수입니다.

입출력 예

commonresult
[1, 2, 3, 4]5
[2, 4, 8]16

입출력 예 설명

입출력 예 #1

  • [1, 2, 3, 4]는 공차가 1인 등차수열이므로 다음에 올 수는 5이다.

입출력 예 #2

  • [2, 4, 8]은 공비가 2인 등비수열이므로 다음에 올 수는 16이다.

문제풀이

💡 문제풀이 과정

  • 등차수열이란, 첫째항에 일정한 수를 더해서 얻은 항으로 이루어진 수열이다. 등비수열이란, 첫째항에 일정한 수를 곱해서 얻은 항으로 이루어진 수열이다.
  • 조건문을 이용하여 common 배열의 두 번째 원소와 첫 번째 원소의 차가 common 배열의 세 번째 원소와 두 번째 원소의 차와 같다면 등차수열이므로, common 배열의 맨 마지막 원소(common.at(-1))에 common[1] - common[0]을 더해준다.
  • 그 외의 경우(else)에는 등비수열이므로, common 배열의 맨 마지막 원소(common.at(-1))에 common[1] / common[0]을 곱해준다.

✅ 답안

function solution(common) {
  if (common[1] - common[0] == common[2] - common[1])
    return common.at(-1) + (common[1] - common[0]);
  else return common.at(-1) * (common[1] / common[0]);
}
profile
😸

0개의 댓글