😎 링크
프로그래머스 - 다음에 올 숫자
😎 고려할 사항
- 주어진 배열에서 앞 2개의 차이와 끝 2개의 차이를 비교한다.
- 무조건 등차 아니면 등비수열이므로, 빼기 차이가 같지 않으면 등비수열이다.
- 참고로 조건처리가 잘 되어있어, 배열의 길이는 무조건 3 이상이므로 인덱스 0-1-2 끼리 비교해도 된다.
- 즉, 꼭 앞 2개-끝 2개를 비교하지 않아도 된다.
😎 소스코드
function solution(common) {
var answer = 0;
let flag, diff;
if (
common[1] - common[0] ===
common[common.length - 1] - common[common.length - 2]
) {
flag = "등차";
diff = common[1] - common[0];
} else {
flag = "등비";
if (common[0] !== 0) {
diff = common[1] / common[0];
}
}
if (flag === "등차") {
answer = common[common.length - 1] + diff;
} else if (flag === "등비") {
answer = common[common.length - 1] * diff;
} else {
console.log("등차 등비 말고는 안나온다며");
}
return answer;
}
😎 문법 정리