목차
문제 설명
어떤 세균은 1시간에 두배만큼 증식한다고 합니다. 처음 세균의 마리수 n과 경과한 시간 t가 매개변수로 주어질 때 t시간 후 세균의 수를 return하도록 solution 함수를 완성해주세요.
import java.util.stream.IntStream;
class Solution {
public int solution(int n, int t) {
int[] count = { n };
IntStream.rangeClosed(1, t)
.forEach(hour -> count[0] *= 2);
return count[0];
}
}
------------------------------------------------------------
import java.util.stream.IntStream;
class Solution {
public int solution(int n, int t) {
return IntStream.rangeClosed(1, t)
.reduce(n, (count, hour) -> count * 2);
}
}
IntStream.rangeClosed(1, t)는 1 부터 t까지의 정수 범위를 정하는데 이번 코드에서는 시간을 의미한다.
reduce(n, (count, hour) -> count * 2)는 초기 값 n에서 각 시간마다 세균의 수를 계산한다.
reduce 메서드는 스트림의 원소들을 하나씩 소모해가며, 누적 계산을 수행하고 결과값을 리턴하는 메서드이다.
728x90
'JAVA > 프로그래머스 코딩테스트 입문' 카테고리의 다른 글
[프로그래머스, 입문] 문자 반복 출력하기 (0) | 2024.07.26 |
---|---|
[프로그래머스, 입문] 문자열 뒤집기 (0) | 2024.07.26 |
[프로그래머스, 입문] 숨어있는 숫자의 덧셈(1) (0) | 2024.06.14 |
[프로그래머스, 입문] 가위 바위 보 (0) | 2024.06.14 |
[프로그래머스, 입문] 개미 군단 (0) | 2024.06.14 |