Post

[Programmers] #120924 - 다음에 올 숫자 [Java][C++][Python]

[Programmers] #120924 - 다음에 올 숫자 [Java][C++][Python]

문제 링크


1. 아이디어

common은 등차수열 혹은 등비수열이므로 연속된 세 항에 대해 인접한 두 항의 차가 일정하면 등차수열, 아니면 등비수열로 조건 분기를 했다.


2. 복잡도

접근시간공간
풀이$O(1)$$O(1)$

3. 코드

풀이 [Java][C++][Python]

1
2
3
4
5
6
7
8
9
class Solution {
    public int solution(int[] common) {
        if (common[0] - common[1] == common[1] - common[2]) {
            return common[common.length - 1] + common[1] - common[0];
        } else {
            return common[common.length - 1] * common[1] / common[0];
        }
    }
}
1
2
3
4
5
6
7
8
9
10
#include <bits/stdc++.h>
using namespace std;

int solution(vector<int> common) {
    if (common[0] - common[1] == common[1] - common[2]) {
        return common.back() + common[1] - common[0];
    } else {
        return common.back() * common[1] / common[0];
    }
}
1
2
3
4
5
def solution(common):
    if common[0] - common[1] == common[1] - common[2]:
        return common[-1] + common[1] - common[0]
    else:
        return common[-1] * common[1] // common[0]

This post is licensed under CC BY 4.0 by the author.