정수 num1과 num2가 주어질 때, num1과 num2의 합을 return하도록 soltuion 함수를 완성해주세요.
-50,000 ≤ num1 ≤ 50,000
-50,000 ≤ num2 ≤ 50,000
단순한 더하기 문제였다
function solution(num1, num2) {
return num1+num2;
}
이렇게 풀고 제출했다
// 숫자 범위에 대한 제한 조건 추가
function solution(num1, num2) {
if(!(-50000 <=num1 && num1<=50000)){
return `범위를 초과하였습니다`;
} else if(!(-50000<=num2 && num2<=50000)){
return `범위를 초과하였습니다`;
} else { return num1 + num2}
}
만약에 숫자 범위에 대한 제한 조건을 추가한다면 위에처럼 했을텐데
다른 사람들도 비슷하겠지 하고 다른 사람들이 푼 것들을 확인해보고 충격을 받았다
먼저 범위 조건을 걸지 않는다면
const solution = (num1, num2) => num1 + num2 // 화살표 함수
이렇게 화살표 함수로 한 줄로 만들 수 있었고
function solution(num1, num2) {
if(-50000 > num1 || num1 > 50000) return;
// if문 {}엔에 내용이 한줄인 경우 {}생략 기능 활용
if(-50000 > num2 || num2 > 50000) return;
return num1 + num2;
}
조건을 추가한 경우도 이렇게 훨씬 간단하게 만들 수 있었다
심지어 가독성은 좀 떨어져도 저렇게 아래와 같이 에러처리까지 한 경우도 있었다
function solution(num1, num2) {
if (-50000 > num1 || num1 > 50000 || -50000 > num2 || num2 > 50000) throw new Error; // 웹페이지에서 짤려서 보일 수 있으나 한 줄 코드이다
return num1 + num2;
}
코드가 간결해진 것도 중요하지만 무엇보다 이렇게도 생각을 할 수 있고 활용할 수 있구나 하는 부분과 전혀 생각하지 않고 있던 나에 대해서 다시 돌아보게 되었다