공부/코딩테스트

Q. 세균 증식

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

🚫제한 사항
1 ≤ n ≤ 10
1 ≤ t ≤ 15

❗입출력 예

 
n t result
2 10 2048
7 15 229,376

😀 내가 푼 답

const solution = (n, t) => {
    return n * (2 ** t)
}

 

😊 문제풀이 답안 OR 다른사람들 답안

function solution(n, t) {
  return n << t;
}
  • 왼쪽 시프트(<<)
    • 왼쪽 시프트(<<) 연산자는 첫 번재 피연산자를 명시된 비트 수(32의 나머지)만큼 왼쪽으로 이동합니다. 왼쪽으로 이동된 초과 비트는 폐기 됨
    • 오른쪽은 움직인 비트 수 만큼 0비트로 채워짐
    • ex.
9 (10진수): 00000000000000000000000000001001 (2진수)
--------------------------------
9 << 2 (10진수): 00000000000000000000000000100100 (2진수) = 36 (10진수)
  • 임의의 숫자 x를 왼쪽으로 y비트 단위로 이동하면 x * 2 ** y임
    ex. 9 << 3 은 9 * (2 ** 3) = 9 * 8 = 72

'공부 > 코딩테스트' 카테고리의 다른 글

Q. 가장 큰 수 찾기  (1) 2024.02.26
Q. 인덱스 바꾸기  (0) 2024.02.23
Q. 문자 반복 출력하기  (1) 2023.12.08
Q. 모음 제거  (0) 2023.12.07
Q. 문자열안에 문자열  (2) 2023.12.05