Blog

세균 증식

문제 #

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

  • 제한사항
    • 1 ≤ n ≤ 10
    • 1 ≤ t ≤ 15
  • 입출력 예
    n t result
    2 10 2048
    7 15 229,376

나의 풀이 #

class Solution {
    public int solution(int n, int t) {
        int answer = 0;
        
        for(int i = 0; i<t; i++){
            n += n;
        }
        answer = n;
        return answer;
    }
}

다른 사람의 풀이 #

//비트시프트 사용
class Solution {
    public int solution(int n, int t) {
        int answer = 0;

        answer = n << t;

        return answer;
    }
}

관련개념 학습 #

  • n^t를 구하는 알고리즘으로 나의 경우 반복문을 통해 n만큼씩 더하여 구현하였다.
  • 그 외로 반복문을 통해 n*2를 하는 방식으로도 구현이 가능하다.
  • 02 - 02 인«를 통해 반복문을 사용하지 않고 구현이 가능하다.