본문 바로가기

프로그래머스 코딩(자바)/Level 0

Programmers Level 0 - 다음에 올 숫자

728x90

문제 설명

등차수열 혹은 등비수열 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


입출력 예 설명

입출력 예 #1

  • [1, 2, 3, 4]는 공차가 1인 등차수열이므로 다음에 올 수는 5이다.

입출력 예 #2

  • [2, 4, 8]은 공비가 2인 등비수열이므로 다음에 올 수는 16이다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
class Solution {
    public int solution(int[] common) {
        int answer = 0;
        int sub1 = common[1]-common[0];
        int sub2 = common[2]-common[1];
        if(sub1==sub2) {
            answer = common[common.length-1+ sub1;
        }else {
            answer = common[common.length-1* (sub2/sub1);
        }
        return answer;
    }
}
cs

 

  원소 사이의 차가 같다면 공차수열이고 아니면 공비수열이다.

  공차 수열이면 공차를 더해주면되고

  공비 수열이면 공비를 곱해주면된다.

 

728x90