[C++] 프로그래머스 등차수열의 특정한 항만 더하기
문제설명
두 정수 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가 적어도 하나 존재합니다.
입출력 예
a | d | included | result |
---|---|---|---|
3 | 4 | [true, false, false, true, true] | 37 |
7 | 1 | [false, false, false, true, false, false, false] | 10 |
풀이
등차수열에서 특정 값만 더하는 로직을 구현하는 문제입니다.
#include <string>
#include <vector>
using namespace std;
int solution(int a, int d, vector<bool> included) {
int answer = 0;
int num = 0;
for(int i = 0; i < included.size(); i++)
{
num = a + (d * i);
if(included[i])
answer += num;
}
return answer;
}
Leave a comment