yoonix

[프로그래머스 코딩테스트 입문 Lv.0] 다음에 올 숫자 JavaScript 풀이 본문

코딩테스트

[프로그래머스 코딩테스트 입문 Lv.0] 다음에 올 숫자 JavaScript 풀이

yoonix 2023. 4. 27. 22:11
프로그래머스 > 코딩테스트 입문 > 다음에 올 숫자

제한사항

🔹 2<common의 길이 <1,000
🔹 -1,000<common의 원소 <2,000
🔹 common의 원소는 모두 정수입니다.
🔹 등차수열 혹은 등비수열이 아닌 경우는 없습니다.
🔹 등비수열인 경우 공비는 0이 아닌 정수 입니다. 

문제 풀기 전 생각

🔹 등차수열은 배열 1의 값에서 0의 값을 뺀 만큼 값이 증가한다.
🔹 등비수열은 배열 1의 값에서 0의 값을 나눈 만큼 값이 증가한다.
🔹 그러면 등차수열인지 등비 수열인지 if문을 걸어서 다르게 처리해야겠다. 

function solution(common) {
    var answer = 0;
    var a = common[0];
    var b = common[1];
    var c = common[2];
    var len = common.length-1 
    
    if(b-a == c-b){ //배열 2의 값에서 1의 값을 뺀 값과 1에서 0의 차이가 같다면 > 등차수열
        answer = common[len]+c-b; //마지막 값에다 등차를 더해줌
    }else{ // 등비 수열
        answer = common[len]*(b/a); //마지막 값에다 등비를 곱해줌
    } 
    return answer;
}