[프로그래머스 / C++] 다음에 올 숫자

YH·2023년 8월 9일
0

문제

다음에 올 숫자 : 문제 링크


문제 분석

  • 등차수열 혹은 등비수열 common이 매개변수로 주어질 때, 마지막 원소 다음으로 올 숫자를 return
  • common의 길이는 2보다 크고 1,000보다 작으므로 최소 3개의 원소가 주어진다. 따라서 (common[2] - common[1])과 (common[1] - common[0])의 값을 비교해서 같다면 등차수열 이고 그렇지 않다면 등비수열이다. temp라는 int형 변수에 등차수열의 경우엔 공차인 common[2] - common[1]을, 등비수열의 경우엔 공비인 common[2] / common[1]을 저장하여 연산에 사용한다.
  • common내의 마지막 원소에 위에서 구한 공차와 공비를 연산후 answer 변수에 저장후 return

풀이

#include <vector>

using namespace std;

int solution(vector<int> common) {
    int answer = 0;
    int temp = 0;
    
    if((common[2] - common[1]) == (common[1] - common[0])) {
        temp = common[2] - common[1];
        answer = common[(common.size() - 1)] + temp;
    }
    else {
        temp = common[2] / common[1];
        answer = common[(common.size() - 1)] * temp;
    }
    return answer;
}
profile
Keep Recycling Your Dreams

0개의 댓글