오늘 뭐했냐/기억하면 좋을 문제들

단순한 더하기 문제였지만

스스로에게 2023. 5. 25. 18:56

정수 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;
}

 

코드가 간결해진 것도 중요하지만 무엇보다 이렇게도 생각을 할 수 있고 활용할 수 있구나 하는 부분과 전혀 생각하지 않고 있던 나에 대해서 다시 돌아보게 되었다 

'오늘 뭐했냐 > 기억하면 좋을 문제들' 카테고리의 다른 글

각도기 구하기  (0) 2023.05.25
숫자 비교  (0) 2023.05.25
출생년도 구하기  (0) 2023.05.25
몫 구하기  (0) 2023.05.25
1주차 과제  (0) 2023.05.23