조건
1. 손코딩 연습
2. 기존 방식으로 풀어보고
3. 람다로 풀어볼 것
문제
풀이 과정
정답
1. 기존 풀이 방식
class Solution {
public int solution(int a, int d, boolean[] included) {
int answer = 0;
int[] arr = new int[included.length];
arr[0] = a;
for(int i=1;i<arr.length;i++){
arr[i] = arr[i-1]+d;
}
for(int i=0;i<included.length;i++){
if(included[i]==true){
answer += arr[i];
}
}
return answer;
}
}
2. 람다 풀이 방식
import java.util.stream.IntStream;
class Solution {
public int solution(int a, int d, boolean[] included) {
return IntStream.rangeClosed(0, included.length-1)
.filter(i->included[i]).map(i->a+d*i).sum();
}
}
'JAVA > 연습노트' 카테고리의 다른 글
[프로그래머스-자바] 유한소수 판별하기 (0) | 2024.04.27 |
---|---|
[프로그래머스-자바] 종이 자르기 (0) | 2024.04.25 |
[프로그래머스-자바] 조건 문자열 (2) | 2024.04.21 |
[프로그래머스-자바] k의 개수 (0) | 2024.04.20 |
[프로그래머스-자바] 홀짝에 따라 다른 값 반환하기 (2) | 2024.04.20 |