등차수열 혹은 등비수열 common
이 매개변수로 주어질 때, 마지막 원소 다음으로 올 숫자를 return 하도록 solution 함수를 완성해보세요.
2 < common
의 길이 < 1,000
-1,000 < common
의 원소 < 2,000
등차수열 혹은 등비수열이 아닌 경우는 없습니다.
등비수열인 경우 공비는 0이 아닌 정수입니다.
function solution(common) {
if ((common[1]-common[0])==(common[2]-common[1])){
return common.pop() + common[1] - common[0];
}
else{
return common.pop()*common[1]/common[0];
}
}
let solution = q => {
let [a, b, c] = q;
return a + c == 2 * b ? q.pop() + b - a : q.pop() * b / a
}
common
이 등비수열일때의 경우와 등차수열일때의 경우 총 2가지로 나누어 함수를 작성해야한다는 사실에 처음에 당혹스러웠다. 하지만 조금만 생각해본다면, 의외로 간단한 문제였다는 사실에 문제의 핵심이 무엇일지 차분하게 생각하는 훈련이 필요하다고 느꼈다.