프로그래머스/Lv. 0(코딩테스트 입문)

[프로그래머스 코딩테스트] 다음에 올 숫자(Java)

Sigfriede 2023. 4. 2. 03:12

  문제 설명

  등차수열 혹은 등비수열 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 배열의 마지막 원소에 등비만큼 곱한 값을 할당해줍니다.