본문 바로가기
코테 준비(with 프로그래머스)

프로그래머스 day5 - 등차수열의 특정한 항만 더하기

by jeong11 2023. 11. 7.
반응형
문제 설명

두  정수 a, d와 길이가 n인 boolean 배열 includedr가 주어집니다. 첫째항이 a, 공차가 d인 등차수열에서 included[i]가 i+1항을 의마할 때, 이 등차수열의 1항부터 n항까지 included가 true인 항들만 더한 값을 return 하는 solution 함수를 작성해주세요. 

입출력 예
a d included result
3 4 [true, false, false, true, true] 37
7 1 [false, false, false, true, false, false, false] 10

이 문제 어려웠다... 내가 어렵게 생각하는건지 ... 

true인 항들만 더해줘야하는데 등차수열 배열로 그걸 어떻게 표현하지 해맸다 

 

 

*내가 해결한 코드*

tmp에 항을 전부 더하고 그 중 true인 항만 i에 더해주기 

tmp라는 변수에 a(시작점)를 넣어주고 included 길이만큼 for문을 돌리면서 

included[i]가 true인 경우 answer에 해당되는 a 값을 더해주고  d만큼 늘어나게 간격을 더해주니 해결되었다

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