문자열 binomial이 매개변수로 주어집니다. binomial은 "a op b" 형태의 이항식이고 a와 b는 음이 아닌 정수, op는 '+', '-', '*' 중 하나입니다. 주어진 식을 계산한 정수를 return 하는 solution 함수를 작성해 주세요.
개발을 하다보면 구조분해할당을 할 때가 매우 많은데 특히 서버에서 데이터를 받아올 때 거의 90% 쓴다. 근데 이 문제를 풀면서 구조분해할당을 해줄 생각 조차 하지 못했습니다.
아래 코드는 처음에 구현한 식입니다.
function solution(binomial) {
const array = binomial.split(' ')
if(array[1]=== '+'){
return (+array[0])+ (+array[2])
} else if(array[1]==='-'){
return array[0]-array[2]
} else {
return array[0] * array[2]
}
}
이걸 구조분해를 해주면
function solution(binomial) {
const [first, operator, second ] = binomial.split(' ')
if(operator=== '+'){
return (+first)+ (+second)
} else if(operator==='-'){
return first-second
} else {
return first * second
}
}
훨씬 간결하고 가독성이 좋아진 것을 알 수 있습니다. 간단한 문제에서도 코드를 줄일 수 있기 때문에 문제 하나를 풀더라도 더 꼼꼼하고 깊게 생각을 해야겠습니다!