5일차 - 등차수열의 특정한 항만 더하기

wsung·2025년 11월 15일

2. 등차수열의 특정한 항만 더하기

문제 설명
두 정수 a, d와 길이가 n인 boolean 배열 included가 주어집니다. 첫째항이 a, 공차가 d인 등차수열에서 included[i]가 i + 1항을 의미할 때, 이 등차수열의 1항부터 n항까지 included가 true인 항들만 더한 값을 return 하는 solution 함수를 작성해 주세요.

class Solution {
    public int solution(int a, int d, boolean[] included) {
        int sum = 0;
        for(int i = 1; i<included.length; i++){
            if(included[i]==true){
                sum += a+(d*i);
            }
        }
        if(included[0]==true){
            sum += a;
        }
        return sum;
    }
}
  • 다른 사람풀이 : stream으로 한줄 표현
import java.util.stream.IntStream;

class Solution {
    public int solution(int a, int d, boolean[] included) {
        return IntStream.range(0, included.length).map(idx -> included[idx]?a+(idx*d):0).sum();
    }
}

[링크: 등차수열의 특정한 항만 더하기]

profile
0부터 시작하는 백엔드

0개의 댓글