[기초 Lv.0] 다음에 올 숫자

oaksusu·2024년 3월 20일
0
post-thumbnail

오답노트 22번

1. 문제 (링크) :

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

2. 내가 푼 방법 :

첫번째 값과 두번째값을 뺀 값이
세번째 값과 두번째값을 뺀 값과 같다면 등차수열로 보고
나머진 등비수열로 봄.

function solution(common) {
    const minus1 = common[1] - common[0];
    const minus2 = common[2] - common[1];
    const divide = common[1] / common[0];
    const last = common[common.length - 1];
    if ( minus1 === minus2 ) {
        return last + minus1
    } else {
        return last * divide
    }
}

3. 괜찮아 보였던 풀이 방법 (참고할 만한 풀이):

배열의 마지막 값을 구할때, 배열의 길이를 구하고 그 값에 1을 뺀 인덱스를 알아내서 구함
다른 사람의 풀이중에서 pop을 이용한 방법이 있어서 참고함

function solution(common) {
    const minus1 = common[1] - common[0];
    const minus2 = common[2] - common[1];
    const divide = common[1] / common[0];
    if ( minus1 === minus2 ) {
        return common.pop() + minus1
    } else {
        return common.pop() * divide
    }
}

4. 리마인드

배열.pop()

: 원본 배열의 마지막 요소를 제거후, 제거한 요소를 반환함

배열.push(값)

: 배열의 마지막 요소에 값을 넣고 배열의 길이를 반환

배열.shift()

: 배열의 첫 번째 요소를 제거후, 제거한 요소를 반환함

배열.unshift(값)

: 배열의 첫 번째 요소에 값을 넣고 배열의 길이를 반환

profile
삐약

0개의 댓글