판다꼬마 2022. 8. 2. 19:54
728x90

문제

입력

  • 첫 번째 줄에 100 이하의 서로 다른 A, B , C 막대의 길이가 주어진다.

 

출력

  • 첫 번째 줄에 "YES", "NO"를 출력한다

입력 예시

6 7 11

출력 예시

YES

풀이 방법

삼각형이 만들어지는 조건은 제일 긴 변을 제외한 나머지 두 변 길이의 합이 제일 긴 변보다 커야 한다는 것이다.

이 조건을 생각해 풀이하였다.

내 코드

<html>
    <head>
        <meta charset="UTF-8" />
        <title>출력결과</title>
    </head>
    <body>
        <script>
            function solution(a, b, c) {
                let long;
                let short1, short2;
                if (a < b) (long = b), (short1 = a), (short2 = c);
                else (long = a), (short1 = b), (short2 = c);
                if (long < c) (long = c), (short1 = a), (short2 = b);

                if (long < short1 + short2) console.log("YES");
                else console.log("NO");
            }
            console.log(solution(6, 7, 11));
        </script>
    </body>
</html>

Solution

<html>
    <head>
        <meta charset="UTF-8">
        <title>출력결과</title>
    </head>
    <body>
        <script>
            function solution(a, b, c){
                let answer="YES", max;
                let tot=a+b+c;
                if(a>b) max=a;
                else max=b;
                if(c>max) max=c;
                if(tot-max<=max) answer="NO"; 
                return answer;
            }

            console.log(solution(13, 33, 17));
        </script>
    </body>
</html>

느낌점

풀 때 코드가 난잡하고 생각은 하긴 했는데 solution을 보니 정말 간결해서 슬펐다.

 

728x90