아이디어 풀기
배열에서 인덱스 -z 및 z-1의 요소를 제외하여 정답으로 반환되도록 합시다!
숫자와 z는 공백으로 구분되어 있으므로 저도 공백으로 나눕니다.
그리고 for 문이 실행되는 동안 Z와 일치하는 자식은 해당 값과 그 이전 값까지입니다.
모든 것을 삭제
function solution(s) {
var answer = ();
let result = 0;
//z앞에 있는 숫자는 지움
let array = changeStr.split(" ");
for(let i=0; i<array.length ; i++){
if(array(i) === "Z" ){ // "-"전 인덱스는 추가 x
array.splice(i-1,2);
i--;
}
}
if(array.length ===0){
return 0
}else{
for(let o of array){
result += o*1
}
return result
}
}
남의 솔루션
Z의 인덱스가 -1보다 큰 경우(Z가 존재하는 경우) Z의 인덱스의 이전 값에서 두 값을 삭제합니다.
아, indexOf에 해당하는 값이 없으면 -1을 반환합니다..! 나는 그것을 생각하지 않았다.
function solution(s) {
let arr = s.split(" ");
while ( arr.indexOf('Z') > -1) {
arr.splice( arr.indexOf('Z')-1, 2);
}
return arr.reduce((a,b) => parseInt(a) + parseInt(b),0)
}