[JS] 삼각형의 완성조건(1)

2023. 5. 3. 09:14코딩테스트

1. 문제설명


선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.

  • 가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.

삼각형의 세 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 세 변으로 삼각형을 만들 수 있다면 1, 만들 수 없다면 2를 return하도록 solution 함수를 완성해주세요.

제한 조건

  • sides의 원소는 자연수입니다.
  • sides의 길이는 3입니다.
  • 1 ≤ sides의 원소 ≤ 1,000

입출력 예

sides result
[1, 2, 3] 2
[3, 6, 2] 2
[199, 72, 222] 1

2.해결


function solution(sides) {
    const result = sides.sort((a, b) => b - a);

    return result[0] < result[1] + result[2] ? 1 : 2;
}

sides는 배열로 넘어오고 그 중에 가장 큰 값을 찾으려면 sort함수로 가장 큰 값이 0번째 index에 오게 만들었다. 삼각형이라는 필수적인 조건이 들어가있으니 배열의 길이는 변할 일이 없어보여서 sort함수로 구현했다.
0번째 index가 1번째 index와 2번째 index를 더한 값보다 작으면 1을 return 시키고 아니면 무조건 2를 return 시키게 코드를 작성했다.

'코딩테스트' 카테고리의 다른 글

[JS] 추억 점수  (0) 2023.07.19
[JS] 배열의 유사도  (0) 2023.05.04
[JS] 짝수 홀수 개수  (0) 2023.05.02
[JS] 양꼬치  (0) 2023.05.02
[JS] 문자열 앞의 n 글자  (0) 2023.05.01