Paradox Simulation

728x90
반응형

코딩테스트 연습 - 다음에 올 숫자 | 프로그래머스 스쿨 (programmers.co.kr)

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

다음에 올 숫자

문제 설명

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

 

 

우선 맞춘 답부터.

class Solution {
    public int solution(int[] common) {
        int answer = 0;
        // 등차
        if(common[2] - common[1] == common[1] - common[0]) {
            answer = common[common.length-1] + (common[1] - common[0]);
        } 
        // 등비
        else {
            answer = common[common.length-1] * (common[1] / common[0]);
        }
        return answer;
    }
}

 

 

해답과정을 설명하겠다.

 

  1. 등차 / 등비를 나눠야 한다.
  2. 등차일 때 공식 n = (n-1) + 등차
  3. 등비일 때 공식 n = (n-1) * 등비
  4. 등차 구하는 공식은 뒷항 빼기 앞항
  5. 등비 구하는 공식은 뒷항 나누기 앞항

 

실행 결과
정확성 테스트
테스트 1  통과 (0.02ms, 66.4MB)
테스트 2  통과 (0.02ms, 77.5MB)
테스트 3  통과 (0.02ms, 76.1MB)
테스트 4  통과 (0.02ms, 74.4MB)
테스트 5  통과 (0.03ms, 73.6MB)
테스트 6  통과 (0.02ms, 66.9MB)
테스트 7  통과 (0.02ms, 81.8MB)
테스트 8  통과 (0.01ms, 75.3MB)
테스트 9  통과 (0.02ms, 75.4MB)
채점 결과
정확성: 100.0
합계: 100.0 / 100.0
728x90
반응형
250x250
반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band