컨트롤 빔


아이디어 풀기

배열에서 인덱스 -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)
}