문제 설명
어떤 세균은 1시간에 두배만큼 증식한다고 합니다. 처음 세균의 마리수 n과 경과한 시간 t가 매개변수로 주어질 때 t시간 후 세균의 수를 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ n ≤ 10
- 1 ≤ t ≤ 15
입출력 예ntresult
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합니다.
for문 이용)
class Solution {
public int solution(int n, int t) {
int answer = n;
for(int i = 0; i < t; i++) {
answer *= 2;
}
return answer;
}
}
비트 쉬프트(Shift)연산자 이용)
class Solution {
public int solution(int n, int t) {
int answer = 0;
answer = n << t;
return answer;
}
}
<< : 왼쪽으로 이동
>> : 오른쪽으로 이동
>>> : unsigned, 오른쪽으로 이동
ex)
int n = 7;
int t = 15;
answer = n << t 일 경우,
(7*1=7, 7*2=14, 7*4=28, 7*8=56,...)
총 229,376이라는 결과값이 도출됨.
'Algorithm > Programmers_Java' 카테고리의 다른 글
[Java] 주사위의 개수 (0) | 2023.04.12 |
---|---|
[Java] 문자열 정렬하기 (1)_String배열->int배열로 형변환 (0) | 2023.04.11 |
[Java] 가위 바위 보 (0) | 2023.04.09 |
[Java] 대문자와 소문자 (0) | 2023.04.09 |
[Java] 암호 해독_substring (0) | 2023.04.06 |
댓글