본문 바로가기

프로그래머스

[알고리즘] 간단한 식 계산하기 / eval()

간단한 식 계산하기

문자열 binomial 의 식을 계산하여 리턴

 

binomial result
"43 + 12" 55
"0 - 7777" -7777
"40000 * 40000" 1600000000

 

나의 풀이:

function solution(binomial) {
    var array = binomial.split(" ")
    var a = array[0]*1
    var b = array[2]*1
    return array[1] == "+" ? a + b : array[1] == "-" ? a - b : a * b
}

문자열 binomial 을 공백 " " 을 기준으로 0~2 번 인덱스의 배열로 나눈 후 계산

 

다른 풀이:

const solution = eval

나도 나름대로 짧게 썼다고 생각했는데 몇몇 다른사람들이 푼 코드를 보니 eval 이라고만 써놨음.. 심지어 파라미터도 생략해놔서 이게 뭔 코드인지도 모르겠다 싶었음.

그렇게 좋은 방법은 아닌 것 같음. eval() 은 문자로 표현된 javascript 함수를 실행한다. 코드 쓰는데 5초면 쓰겠으나 과연 출제자가 이걸 의도하고 낸건 절대 아니라고 생각함.