[프로그래머스] 세균 증식
카테고리 : 알고리즘
태그: algorithm · programmers · Code Refactoring · 참고 할 만한 다른 사람의 코드 · 코딩 기초 트레이닝 · 프로그래머스 · 코딩테스트 연습 · JavaScript · 세균 증식 · js 세균 증식
태그: algorithm · programmers · Code Refactoring · 참고 할 만한 다른 사람의 코드 · 코딩 기초 트레이닝 · 프로그래머스 · 코딩테스트 연습 · JavaScript · 세균 증식 · js 세균 증식
문제 설명
어떤 세균은 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) {
let answer = 0;
return (answer = Math.pow(2, t) * n);
}
나의 두번째 풀이(Code Refactoring)
function solution(n, t) {
return n * 2 ** t;
}
//Math.pow를 안쓰고 2^t값 만큼 증식 n의 최초 세균의 갯수를 넣어줌
참고 할 만한 다른 사람의 코드
function solution(n, t) {
return n << t;
}
// 비트연산으로 푸는 방법..