계발하는 개발자

[프로그래머스/Lv.0] 세균 증식 본문

🖥 Computer Science/Algorithm

[프로그래머스/Lv.0] 세균 증식

dev_genie 2023. 11. 21. 01:32

⚙️ 문제 설명


⚠️ 제한 사항


🔃 입출력


📜 입출력 예 설명


🧠 나의 풀이

function solution(n, t) {
    return n * Math.pow(2, t);
}

 

🧐 풀이 설명

공식에 대입해서 풀었다.

P(t)=P0​×2t

  • P(t)는 시간 t에 따른 세균의 수
  • P0 ​는 초기 세균의 수
  • t는 경과한 시간

 

1시간에 두 배 만큼 증가한다고 했으니, 초기 세균 수를 2로 설정했다. (거듭제곱으로 나타내기 위해서)

여기에서 이제 t 라는 시간 만큼 n 마리씩 증가해야하니 Math.pow(2, t) 라고 하면 Math.pow 함수는 거듭제곱 구할 때 쓰는 함수이므로, 예1에서 t = 10이 들어갈때, 2의 10승이 되서 1,024란 값이 되고,

예2에서 t = 15가 들어가서 2의 15승 = 32,768이 되는데

여기서 시간 t 만큼 n마리씩 세균이 증가시켜야 하므로 앞에 n * 을 추가해줬다.

 

그러면 예1에서 2 * Math.pow(2,10) = 2 * 1,024 = 2,048 마리가 되고

예2에서 7 * Math.pow(2,15) = 7 * 32,768 = 229,376 마리가 된다.

 

문제 출처

https://school.programmers.co.kr/learn/courses/30/lessons/120910

LIST
profile

dev_genie

@dev_genie

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!