코딩테스트/프로그래머스
[프로그래머스] 다음에 올 숫자 - 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);
}