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

풀이
해당 문제는 등차수열이지만,
included
가 true
일 때만 더하면 된다.
등차 수열은 a
에 계속 해서 b
를 inclucded.length
를 더하는 것이다.
i
가 0
에서 부터 시작하니 b * i
를 하게되면 0, 4, 8, 12 씩 올라가게 된다. 여기에 a
를 더하면 등차수열이 된다. 등차수열을 만들었다면 answer
에 값을 누적해주면 된다. int a = 3;
int b = 4;
boolean[] included = {true, false, false, true, true};
int answer = 0;
for (int i = 0; i < included.length; i++) {
if (included[i] == true) {
answer += a + (b * i);
}
}
System.out.println( "answer = " + answer);

Share article