스트림 어렵다 ;-;
import java.util.Arrays;
import java.util.stream.IntStream;
class Solution {
public int solution(int[] num_list) {
return Math.max(
IntStream
.range(0, num_list.length)
.filter(i -> i % 2 == 0)
.map(i -> num_list[i])
.sum()
,
IntStream
.range(0, num_list.length)
.filter(i -> i % 2 != 0)
.map(i -> num_list[i])
.sum()
);
}
}
스트림을 한개만 열어서 작성해보고 싶었는데,
도저히 방법이 떠오르지 않았다.
다른사람 코드 구경!
import java.util.stream.IntStream;
class Solution {
public int solution(int[] num_list) {
return Integer.max(
IntStream
.iterate(0, i -> i < num_list.length, i -> i + 2)
.map(i -> num_list[i])
.sum(),
IntStream
.iterate(1, i -> i < num_list.length, i -> i + 2)
.map(i -> num_list[i])
.sum()
);
}
}
오호
iterate를 사용하면 for문에서 조건절?? 입력하듯이 작성할 수 있다!