[코딩테스트] 다음에 올 숫자

windowook·2024년 1월 5일
post-thumbnail

🌱 다음에 올 숫자

문제

등차수열 혹은 등비수열 common이 매개변수로 주어질 때, 마지막 원소 다음으로 올 숫자를 return 하도록
solution 함수를 완성해보세요.

⛔ 제한사항

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

나의 풀이

function solution(common) {
    let answer = 0;
    // 등차인지 판단
    const minus1 = common[1] - common[0]
    const minus2 = common[2] - common[1]
    
    if (minus1 === minus2) {
        answer = common[common.length - 1] + minus1 
    }
    // 등비인지 판단
    const division1 = common[1] / common[0]
    const division2 = common[2] / common[1]
    
    if (division1 === division2) {
        answer = common[common.length - 1] * division1
    }
    
    return answer;
}

로직 설명
쉽게 그냥 등차인지, 등비인지 판단해서 다음 원소의 값을 구해냈습니다.

다른 사람의 풀이 Best

const solution = c => c[1]-c[0] === c[2]-c[1] ? c[c.length-1] + c[1] - c[0] : c[c.length-1] * c[1] / c[0]

삼항연산자를 사용하여 등차인지 확인후 등차일 때의 다음 원소 값, 등차가 아닐 때(등비일 때)의
다음 원소 값을 반환하는 간단한 풀이가 있었네요.

profile
안녕하세요

0개의 댓글