반응형
문제 설명
두 정수 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;
}
}
반응형
'코테 준비(with 프로그래머스)' 카테고리의 다른 글
프로그래머스 day6 - 수 조작하기2 (0) | 2023.11.10 |
---|---|
프로그래머스 day6 - 수 조작하기1 (1) | 2023.11.10 |
프로그래머스 day5 - 코드 처리하기 (0) | 2023.11.07 |
프로그래머스 day5 - 주사위 게임2 (0) | 2023.11.07 |
프로그래머스 day5 - 이어 붙인 수 (1) | 2023.11.03 |