등차수열 혹은 등비수열 common
이 매개변수로 주어질 때, 마지막 원소 다음으로 올 숫자를 return 하도록 solution 함수를 완성해보세요.
common
의 길이 < 1,000common
의 원소 < 2,000common | result |
---|---|
[1, 2, 3, 4] | 5 |
[2, 4, 8] | 16 |
입출력 예 #1
입출력 예 #2
문제의 제한사항에서 common
의 길이가 2보다 크다는 것을 바탕으로 common[0], common[1], common[2]의 값을 이용하였다.
(common[1] - common[0] == common[2] - common[1]) // 등차수열
(common[1]/common[0] == common[2]/common[1]) // 등비수열
0으로 나눠지는 경우가 있을 수 있으니 조심!!
#include <vector>
#include <iostream>
int solution(std::vector<int> common) {
if ((common[1] - common[0]) == (common[2] - common[1])) {
return int(common[common.size() - 1] + common[1] - common[0]);
}
else {
return int((common[1]/common[0]) * common[common.size() - 1]);
}
}