Jam's story

[프로그래머스] 다음에 올 숫자 - java 본문

코딩테스트/프로그래머스

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

애플쩀 2022. 12. 9. 17:58
  • 첫번째 간격과 두번째 간격이 같다면 등차수열이니
  • if문에서는 등차수열을 구해주고
  • else문에서는 등비수열을 구해준다.
    public int solution(int[] common) {
        int answer = 0;
        if((common[1]-common[0] )==(common[2]-common[1] )) {
        	answer=common[common.length-1]+(common[1]-common[0] );
        }else {
        	answer=common[common.length-1]*(common[1]/common[0] );
        }
        return answer;
    }

 

 

다른사람풀이
  •  common[1] - common[0]를 변수에 저장하여 간결성 높이기
class Solution {
    public int solution(int[] common) {
        int answer = 0;

        int x = common[1] - common[0];
        int y = common[2] - common[1];

        if (x == y) {
            answer = common[common.length - 1] + y;
        } else {
            answer = common[common.length - 1] * common[2] / common[1];
        }

        return answer;
    }
}

 

다른 표현

Math.pow를 이용하여  앞자리에는 곱해질 수 ,뒤에는 지수를 구한다. 그래서 인덱스가 0인 수랑 곱해주면 

원하는 수를 구할 수 있다.

else {
                answer = common[0] * Math.pow((common[2] / common[1]), common.length);

            }

 

Comments