본문 바로가기
하루하루/프로그래머스 문제풀이

[Lv.0 - Java] 120910 - 세균 증식

by 키튼햄 2023. 11. 19.

문제

 

 

 

풀이

1. for문 사용해서 t시간만큼 n을 2배 더해 다시 n에 저장하는 방법을 사용했다.

 

2. 다른사람이 한 풀이인데 이렇게도 할 수 있구나 싶어서 풀이를 추가했다.

비트 이동 연산자를 사용하는 방법이다.

` n << t ` 를 하면 n의 이진 표현을 왼쪽으로 t 비트만큼 시프트 하는 것을 의미한다.

한마디로,  n을 2의 거듭제곱인 t 만큼 곱하는 것과 같다.

 

 

 

문제

1. for문 사용

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

 

2. 비트 이동 연산자 사용

class Solution {
    public int solution(int n, int t) {
        int answer = 0;

        answer = n << t;

        return answer;
    }
}