성장일기

내가 보려고 정리하는 공부기록

코딩테스트/프로그래머스 Lv.0

[프로그래머스] 등차수열의 특정한 항 더하기 (boolean 배열) - JAVA

와나나나 2023. 7. 4. 14:38
728x90

프로그래머스 _ 코딩 기초 트레이닝 DAY 5 - (2)

출처 - https://school.programmers.co.kr/learn/courses/30/lessons/181931

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

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

 

입력 #1 | a = 3, d = 4, included = [true, false, false, true, true]

출력 #1 | 37


>> 풀이 << 

문제 자체는 쉽지만 length 개념이 없었음을 느껴서 쓰기로 했다. 전체적인 풀이는 true일 때 등차수열 값을 더해가면 된다.

 

내가 몰랐던 건 length, length()의 차이였다. 여기에 size()까지 같이 공부해봤다.

 

length -> 배열의 길이를 알고싶을 때 사용한다. (int[], String[], boolean[] etc.)

length() -> 문자열의 길이를 알고싶을 때 사용한다. (String, StringBuilder)

size() -> 컬렉션프레임워크 타입의 길이를 알고싶을 때 사용한다. (ArrayList, Set)

 

length와 length() 차이 꼭 알아두자


최종코드는 아래와 같다.

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] == true) answer += (a + i * d);
        }
        
        return answer;
    }
}