삼각형 판별하기 (최댓값 찾기)

문제

세 수를 입력받아 삼각형을 만들 수 있으면 'YES', 없으면 'NO'를 출력하시오.

입력 예 : 5, 6, 20
출력 예 : NO


처음 풀이

function solution(a, b, c) {

    let maxLen, sumLen;

    if (a > b) {
        maxLen = a;
        sumLen += b;
    } else {
        maxLen = b;
        sumLen += a;
    }
    if (c > maxLen) {
        sumLen += maxLen;
        maxLen = c;
    } else {
        sumLen += c;
    }

    if (maxLen < sumLen) {
        return 'YES';
    } else {
        return 'NO';
    }
}

나는 max가 아닌 나머지 두 변의 길이의 합을 sum 변수에 더해주는 방식으로 했다.

그런데 세 변의 길이를 다 더해놓은 후, max값을 빼고 비교하는 것이 더 코드도 짧고 현명한 것 같다! 왜 이런 생각이 바로바로 안나는지 모르겠다...

좋은 웹페이지 즐겨찾기