문자열 계산하기

yejichoi·2023년 2월 22일
0

알고리즘 스터디

목록 보기
14/153

문자열 계산하기

my_string은 "3 + 5"처럼 문자열로 된 수식입니다. 문자열 my_string이 매개변수로 주어질 때, 수식을 계산한 값을 return 하는 solution 함수를 완성해주세요.

입출력 예

my_stringresult
"3 + 4"7

입출력 예 설명

입출력 예 #1

3 + 4 = 7을 return 합니다.


풀이

function solution(my_string) {
    const arr = my_string.split(" ");
   
    let result = Number(arr[0]);
   //  console.log(arr, result)
  
    arr.forEach((item, index) => {
        if(item === "+"){ // 인자가 '+'라면
            result += Number(arr[index + 1]); // + 다음의 인자를 더하라
          
        }
        
       else if(item === "-"){
            result -= Number(arr[index + 1]);
        }
    })
    
    return result;
}

forEach()

주어진 함수를 배열 요소 각각에 대해 실행

arr.forEach(callback(currentvalue[, index[, array]])[, thisArg])

요소값, 요소 인덱스, 순회 중인 배열

⚡️ forEach() 대체 메소드

  • filter는 "테스트" 하는 의미를 갖고 있기 때문에, 특정 조건에 해당하는 요소를 뽑아내는 경우(a>N 등 if문)에 적합
  • map 메서드는 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환
    map은 "변환" 하는 의미를 갖고 있기 때문에, 각 요소를 변환하는 경우(a * N 등)에 적합
  • reduce 메서드는 배열의 각 요소에 대해 주어진 리듀서(reducer) 함수를 실행하고, 하나의 결과값을 반환
    다른 함수들이 배열로 반환하는 것에 비해, reduce는 단일 값을 반환해야하는 경우(SUM 등)에 적합

참고 : https://yceffort.kr/2021/06/best-solution-for-looping-over-array

0개의 댓글