코딩테스트/프로그래머스

[코딩테스트 입문] Day 18 세균 증식 (JavaScript)

Kim Minki 2023. 3. 8. 17:59

세균 증식

문제 설명

어떤 세균은 1시간에 두배만큼 증식한다고 합니다. 처음 세균의 마리수 n과 경과한 시간 t가 매개변수로 주어질 때 t시간 후 세균의 수를 return하도록 solution 함수를 완성해주세요.

제한사항

  • 1 ≤ n ≤ 10
  • 1 ≤ t ≤ 15

입출력 예

n t result
2 10 2048
7 15 229,376

입출력 예 설명

입출력 예 #1

  • 처음엔 2마리, 1시간 후엔 4마리, 2시간 후엔 8마리, ..., 10시간 후엔 2048마리가 됩니다. 따라서 2048을 return합니다.

입출력 예 #2

  • 처음엔 7마리, 1시간 후엔 14마리, 2시간 후엔 28마리, ..., 15시간 후엔 229376마리가 됩니다. 따라서 229,376을 return합니다.

나의 풀이

function solution(n, t) {
    const answer = n * (2 ** t);
    return answer;
}

Math.pow()

  • Math.pow()메서드를 이용하면 거듭제곱 한 값을 구할 수 있다.
  • Math.pow(밑, 지수)
    function solution(n, t) {
      const answer = n * Math.pow(2, t);
      return answer;
    }
  • 내 개인적인 생각으로는 거듭제곱을 뜻하는 산술연산자 **를 사용하는 것이 간편해 보인다.
  • 왜냐하면 이러한 산술연산자는 다른 언어에서도 똑같이 사용되는 경우가 많아 기억하기 쉽기 때문이다.