어떤 세균은 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 |