✅ 문제 정보

- 문제 이름: 등차수열의 특정한 항만 더하기

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

- 난이도: Lv. 0

 

📝 문제

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

🧪 입출력 예

 

🔍 입출력 예 설명

 

👩‍💻 내가 푼 풀이

class Solution {
    public int solution(int a, int d, boolean[] included) {
        int[] arr = new int[included.length];
        
        for(int i = 0; i<arr.length; i++) {
            if(i==0) {
                arr[i] = a;
            } else {
                arr[i] = arr[i-1] + d;
            }
        }
        
        int total = 0;
        for(int i = 0; i<included.length; i++) {
            
            if(included[i]) {
                total += arr[i];
            }
        }
        
        return total;
    }
}

 

💡다른 풀이

class Solution {
    public int solution(int a, int d, boolean[] included) {
        int total = 0;

        for (int i = 0; i < included.length; i++) {
            if (included[i]) {
                total += a + d * i;
            }
        }

        return total;
    }
}

 

🤔 혼잣말

너무 부끄럽게 풀었다..;;;