본문 바로가기
PS/Programmers

[자바] 프로그래머스 - 다음에 올 숫자 (Lv0, Java)

by Nahwasa 2022. 11. 25.

문제 : Programmers-다음에 올 숫자

문제 출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges

 

필요 알고리즘 개념

  • 수학(?)
    • 일단 등차수열과 등비수열이 뭔지는 알아야 풀 수 있다.
  • 구현
    • 주어진 대로 구현해주면 된다.

 

  항상 입력은 등차수열 혹은 등비수열임이 보장된다. 또한 common의 길이는 3이상이므로 판단이 불가능한 경우도 없다.

 

1. 등차수열인지 아닌지(아니라면 문제 조건에 따라서 무조건 등비수열) 판단한다.

 

2. 등차수열이라면 공차를, 등비수열이라면 공비를 구한 후 common의 마지막 값에 공차를 더해주거나, 공비를 곱해준다.

 

 

코드 : github

/**
 * 문제 출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
 */
class Solution {
    private boolean isDngCha(int[] common) {
        return common[2]-common[1] == common[1]-common[0];
    }
    
    public int solution(int[] common) {
        int answer = 0;
        if (isDngCha(common)) {
            answer = common[common.length-1] + common[2]-common[1];
        } else {
            answer = common[common.length-1] * (common[2]/common[1]);
        }
        
        return answer;
    }
}

댓글