[알고리즘문제풀기] 세균 증식

silver's avatar
Nov 22, 2024
[알고리즘문제풀기] 세균 증식
 

문제

 

내가 작성한 정답

class Solution { public int solution(int n, int t) { return (int)Math.pow(2,t)*n; } }
💡
Math.pow(밑, 지수)의 타입은 double이다.
 
 

다른 사람들이 작성한 정답

class Solution { public int solution(int n, int t) { int answer = 0; answer = n << t; // n을 2의 t제곱으로 곱함 return answer; } }
class Solution { public int solution(int n, int t) { int answer = n; for(int i=0; i<t; i++){ answer = answer+answer; } return answer; } }
class Solution { public int solution(int n, int t) { for(int i = 0; i < t; i++) { n *= 2; } return n; } }
 
💡

<< 연산자란?

  • 비트 왼쪽 시프트 연산자는 주어진 숫자의 이진 표현에서 비트를 왼쪽으로 이동시킨다.
  • 각 비트가 왼쪽으로 이동하며, 오른쪽에는 0이 채워진다.
  • 비트 연산은 곱셈보다 훨씬 빠르기 때문에 n * (2^t) 대신 n << t를 사용하면 계산 속도가 더 빠르다.
💡
n << t : n을 2의 t제곱으로 곱함
 
 
Share article

silver