📕 문제 설명
어떤 세균은 1시간에 두배만큼 증식한다고 합니다. 처음 세균의 마리수 n과 경과한 시간 t가 매개변수로 주어질 때 t시간 후 세균의 수를 return하도록 solution 함수를 완성해주세요.
⭐ 제한사항
- 1 ≤ n ≤ 10
- 1 ≤ t ≤ 15
💻 입출력 예
n | t | result |
2 | 10 | 2048 |
7 | 15 | 229,376 |
📚 입출력 예 설명
입출력 예 #1
- 처음엔 2마리, 1시간 후엔 4마리, 2시간 후엔 8마리, ..., 10시간 후엔 2048마리가 됩니다. 따라서 2048을 return합니다.
입출력 예 #2
- 처음엔 7마리, 1시간 후엔 14마리, 2시간 후엔 28마리, ..., 15시간 후엔 229376마리가 됩니다. 따라서 229,376을 return합니다.
😊 나의 답변
function solution(n, t) {
let answer = n;
for(let i = 0; i < t; i++){
answer *= 2;
}
return answer;
}
⭐ 감탄한 답변
function solution(n, t) {
return n << t;
}
주어진 정수를 비트 단위로 왼쪽으로 시프트하여 값을 계산!
2의 거듭제곱을 곱하는 것과 유사한 효과를 가지기에 성능 최적화나 비트 연산에 활용될 수 있다.
📌 시프트(shift) 연산자 : 이진수 표현을 사용하여 비트 단위로 값을 이동시키는 연산을 수행하는 JavaScript 연산자. 주로 정수 값을 좌측(왼쪽) 또는 우측(오른쪽)으로 이동시키는 데 사용.
728x90
반응형
'프로그래머스 > Lv. 0 코딩테스트 입문' 카테고리의 다른 글
[프로그래머스] Lv.0 종이 자르기 / JS (0) | 2023.08.09 |
---|---|
[프로그래머스] Lv.0 n의 배수 고르기 / JS (0) | 2023.08.09 |
[프로그래머스] Lv.0 연속된 수의 합 / JS (0) | 2023.08.09 |
[프로그래머스] Lv.0 다음에 올 숫자 / JS (0) | 2023.08.09 |
[프로그래머스] Lv.0 문자열 정렬하기 (2) / JS (0) | 2023.08.09 |