인프런 커뮤니티 질문&답변

박현석 Park Hyun Seok님의 프로필 이미지

작성한 질문수

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

2. 삼각형 판별하기

풀이입니다.

작성

·

240

0

<html>
    <head>
        <meta charset="UTF-8">
        <title>출력결과</title>
    </head>
    <body>
        <script>
            function solution(a, b, c){
                let arr = [a,b,c]
                let sort = arr.sort((a,b) => a-b);
                return sort[0] + sort[1] <= sort[2] ? "NO" : "YES"
            }

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

이런식으로 풀어도 괜찮은가요?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.
제시해주신 코드는 삼각형을 만들 수 있는지 없는지를 확인하는 조건을 잘 반영하였습니다. 간단하게 설명드린다면, 세 변의 길이를 a, b, c라고 할 때, 가장 긴 변의 길이가 다른 두 변의 길이의 합보다 작거나 같으면 삼각형을 만들 수 없습니다. 이를 코드로 잘 구현하신 것 같습니다.

다만, Array.prototype.sort() 함수는 기본적으로 배열의 요소들을 문자열로 변경한 후 유니코드 포인트 순서대로 정렬하기 때문에, 숫자로 이루어진 배열을 오름차순으로 정렬할 때는 제공해주신 (a, b) => a - b와 같은 비교 함수를 사용하셔야 합니다. 아주 잘 작성하셨습니다!

프로그래밍을 배우고 계실 때는 여러 해결 방법을 시도해보는 것이 좋으므로, 현재 풀이 방식 외에도 다른 접근 방식을 생각해보실 수 있습다. 예를 들어 Math.min() 함수를 활용하거나, 별도의 정렬 없이 조건문을 통해 직접 판별하는 방법 등도 생각할 수 있을 것입니다.

작성하신 코드는 문제의 요구 사항을 잘 충족하는 것으로 보입니다. 다만, 실제 코딩 테스트 환경에서는 HTML과 같은 형식으로 작성할 필요가 없으며 JavaScript의 함수 부분만 작성하게 될 가능성이 큽니다.