문제
등차수열의 특정한 항만 더하기 : 문제 링크
문제 분석
- 두 정수 a, d와 길이가 n인 boolean 배열 included가 주어진다. 첫째항이 a, 공차가 d인 등차수열에서 included[i]가 i + 1항을 의미할 때, 이 등차수열의 1항부터 n항까지 included가 true인 항들만 더한 값을 return
- 특정한 항만 더하여 저장할 정수형 변수 answer을 으로 초기화. boolean 배열 included의 크기만큼 for loop를 순환. if문을 통해 include의 해당 인덱스의 boolean이 true라면 a를 answer에 더하여 저장. 이후 공차인 d만큼 a에 더하여 저장. 최종적으로 저장된 answer을 return
풀이
#include <vector>
using namespace std;
int solution(int a, int d, vector<bool> included) {
int answer = 0;
for(int i = 0; i < included.size(); ++i) {
if(included[i] == true) answer += a;
a += d;
}
return answer;
}