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

yoontaeng·2022년 11월 9일
0
post-thumbnail

📎 문제링크

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

📄 문제설명

등차수열 혹은 등비수열 common이 매개변수로 주어질 때, 마지막 원소 다음으로 올 숫자를 return 하도록 solution 함수를 완성해보세요.

제한사항

2 < common의 길이 < 1,000
-1,000 < common의 원소 < 2,000
등차수열 혹은 등비수열이 아닌 경우는 없습니다.
공비가 0인 경우는 없습니다.

📝 문제풀이

각각 등비(div)와 등차(dis)의 배열을 구하고
이제 연속된 수들이 등비인지 등차인지 확인을 하면 되는데
이때 분모가 0이 되지 않게 하는 것이 중요하다 이렇게 등비 인지 등차인지 알게 되었으면 마지막값을 기준으로 다음에 올값을 구할 수 있다.

💡 Code

class Solution {
    public int solution(int[]common) {
        int answer = 0;
        int dis[]=new int[common.length-1];
        int div[]=new int[common.length-1];
        for(int i=1; i<common.length;i++){         
            if(common[i-1]==0){
            dis[i-1]=common[i]-common[i-1]; // 연속된 수의 차   
             continue;
            }
            dis[i-1]=common[i]-common[i-1]; // 연속된 수의 차  
            div[i-1]=common[i]/common[i-1];  //연속된 수의 나누기            
        }
        
        if(dis[0]==dis[1]){
            answer=common[common.length-1]+dis[0];
        }else if(div[0]==div[1]){            
            answer=common[common.length-1]*div[0];
        }
                
        return answer;
    }
}

👍 Comment

profile
병아리개발자

0개의 댓글