[코딩테스트] 30. 등차수열의 특정한 항만 더하기

편준민's avatar
Apr 16, 2025
[코딩테스트] 30. 등차수열의 특정한 항만 더하기

문제

💡
두 정수 ad와 길이가 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가 적어도 하나 존재합니다.

예시

notion image

풀이

해당 문제는 등차수열이지만, includedtrue일 때만 더하면 된다. 등차 수열은 a에 계속 해서 binclucded.length를 더하는 것이다. i0에서 부터 시작하니 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);
notion image
Share article

YunSeolAn