코딩테스트

코딩테스트 연습 - 등차수열의 특정한 항만 더하기

김도현2 2023. 5. 2. 22:17
반응형

코딩테스트 연습 - 등차수열의 특정한 항만 더하기

 
 
 
 

문제

 
 
 
 

예시

 
 
 
 
정수 a 와 b가 주어집니다. a는 첫째항, d는 공차 입니다.
 
그리고 included란 배열이 주어지는데 배열안엔 "true" 와 "false" 가 무작위로 섞여있습니다.
 
이 배열의 요소가 "true"일때 해당하는 인덱스값의 항을 구하면 됩니다.
 
쉬운 문제 인거 같습니다!
 
 

included = [true, false, false, true, true];
let a = 3;
let d = 4;

//3 7 11 15 19

문제가 이렇게 주어졌다면 우리는 첫째항이 3인, 공차가 4인 항을 배열의 수만큼인 5개만큼 나열해야 합니다.
 
그렇다면 항은  3 7 11 15 19 이렇게 나오므로 "ture" 자리인 3, 15 , 19 를 더하여 답은 37이 됩니다.
 
풀이가 다 나왔습니다. 이제 코드로 짜면 됩니다.
 
 

included = [true, false, false, true, true];
let a = 3;
let d = 4;
let answer = 0;

included.forEach((e, i)=>{	//forEach로 배열의 수만큼 반복하기
    if(e == true){			//e == 엘리먼트(배열 요소가 "true" 일시 참)
        answer += a + (d * i)	//answer에 첫째항 + (등차 * 인덱스값) 계속 더해주기
    }
});

console.log(answer);
// 37

이상 간단한 문제를 풀어봤습니다!
 
 
 
 

[ 테스트 통과한 모습 ]