Notice
Recent Posts
Recent Comments
Link
«   2026/02   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
Tags more
Archives
Today
Total
관리 메뉴

luke

[프로그래머스] - 등차수열의 특정한 항만 더하기 (Java/자바) 본문

알고리즘문제/프로그래머스(Java)

[프로그래머스] - 등차수열의 특정한 항만 더하기 (Java/자바)

luke-king 2025. 12. 21. 22:13

문제 : https://school.programmers.co.kr/learn/courses/30/lessons/181931

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

 

 

 

 

 

 

 

 

문제.


 

 

 

 

 

 

 

풀이.


class Solution {
    public int solution(int a, int d, boolean[] included) {
        int answer = 0;
        
        for(int i = 0; i < included.length; i++){
            if(included[i]){
                answer += a + (i * d);
            }
        }
        
        return answer;
    }
}

이번 문제는 프로그래머스 "등차수열의 특정한 항만 더하기" 문제다.

문제는 "등차수열"이 뭔지 알고 있으면 크게 어려움 없이 풀 수 있다.

그럼 바로 풀이해보겠다.

 

1. answer 값을 구하기 위해서는 included[] 에 있는 값들 중 true인 값들 이기에 for문과 if문을 사용해 줄 것이다.

 

2. for문은 included의 길이만큼 반복문을 돌려준다.

 

3. for문 안에서 조건식을 사용해줄 텐데 조건식은 당연히 true값만 구하기 위해 included[i] 로 해준다.

 

4. if문에서 true인 값들을 이제 합을 구하기 위해 answer += a + (i*d)로 해준다. 이유는 첫 번째의 항 인덱스 0번은 a값 3부터 시작하기 에 i*d로 해주면 끝이다.