문제 설명
등차수열 혹은 등비수열 common이 매개변수로 주어질 때, 마지막 원소 다음으로 올 숫자를 return 하도록 solution 함수를 완성해보세요.
제한사항
- 2 < common의 길이 < 1,000
- -1,000 < common의 원소 < 2,000
- common의 원소는 모두 정수입니다.
- 등차수열 혹은 등비수열이 아닌 경우는 없습니다.
- 등비수열인 경우 공비는 0이 아닌 정수입니다.
입출력 예
common | result |
[1, 2, 3, 4] | 5 |
[2, 4, 8] | 16 |
class Solution {
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;
}
}
먼저 배열이 등차수열인지 등비수열인지 if문의 조건응 통해 확인합니다. 만약 common 배열의 1번과 0번 인덱스를 뺀 값과 2번에서 1번 인덱스를 뺀 값이 같다면 등차수열입니다. 따라서 answer에 common 배열의 마지막 원소에 등차만큼 더한 값을 할당해줍니다. 마찬가지로 등비수열일 경우 common 배열의 마지막 원소에 등비만큼 곱한 값을 할당해줍니다.
'프로그래머스 > Lv. 0(코딩테스트 입문)' 카테고리의 다른 글
[프로그래머스 코딩테스트] 2차원으로 만들기(Java) (0) | 2023.04.09 |
---|---|
[프로그래머스 코딩테스트] 가장 큰 수 찾기(Java) (0) | 2023.04.09 |
[프로그래머스 코딩테스트] 주사위의 개수(Java) (0) | 2023.04.02 |
[프로그래머스 코딩테스트] 약수 구하기(Java) (0) | 2023.04.02 |
[프로그래머스 코딩테스트] 인덱스 바꾸기(Java) (0) | 2023.04.02 |