본문 바로가기
프로그래머스 문제풀어보기

[Lv.0] 다음에 올 숫자

by dantriss 2023. 4. 4.


https://school.programmers.co.kr/learn/courses/30/lessons/120924

등차수열 : 연속하는 두 항의 차이가 모두 일정한 수열 (feat.위키백과)

등비수열 : 각 항이 초항과 일정한 비를 가지는 수열 (feat.위키백과)

이기 때문에 극 항들의 차이를 보자

 

첫 번째 배열을 보면 [1,2,3,4] 로 각 항들이 1씩 차이나게 된다.

두 번째 배열은 [2,4,8] 로 각 들이 2배씩 증가하게 된다.

 

첫 번째 배열은 common[0]와 common[1] 이 1차이나고  common[1]와 common[2] 가 1차이가 난다.

두 번째 배열은  common[0]의 2배가 common[1] 이고  common[1]의 2배가 common[2] 이다.

 

그래서 해당 조건식을 만들 수 있다.

common[1]-common[0]와 common[2]-common[1]가 같다면 등차수열

common[1]/common[0]와 common[2]/common[1]가 같다면 등비수열이다.

다음에 올 숫자를 알아보기 위해서 common의 마지막 숫자를 common의 길이-1로 구한 값과 등차수열이라면 

common[1]-common[0] 값을 더해주고, 등비수열이라면 common[1]/common[0] 값을 곱해주면 된다.

class Solution {
    public int solution(int[] common) {
        int answer = 0;
        int last = common[common.length-1];
    
        
        if(common[1]-common[0]==common[2]-common[1]){
            
            answer = last+common[1]-common[0];
            
        }  else if(common[1]/common[0]==common[2]/common[1]){
            
            answer = last*common[1]/common[0];
            
        }     
        
        return answer;
    }
}

'프로그래머스 문제풀어보기' 카테고리의 다른 글

[Lv.0] 팩토리얼  (0) 2023.04.05
[Lv.0] 옹알이(1)  (0) 2023.04.04
[Lv.0] 문자열 계산하기  (0) 2023.04.01
[Lv.0] 숨어있는 숫자의 덧셈 (2)  (0) 2023.03.23
[Lv.0] 컨트롤 제트  (0) 2023.03.22

댓글