[프로그래머스 -자바스크립트] 삼각형의 완성조건 (1)

차슈·2024년 4월 23일
1

프로그래머스

목록 보기
24/64
post-thumbnail
post-custom-banner

문제

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

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


입출력예

입출력 예 #1
가장 큰 변인 3이 나머지 두 변의 합 3과 같으므로 삼각형을 완성할 수 없습니다. 따라서 2를 return합니다.

입출력 예 #2
가장 큰 변인 6이 나머지 두 변의 합 5보다 크므로 삼각형을 완성할 수 없습니다. 따라서 2를 return합니다.

입출력 예 #3
가장 큰 변인 222가 나머지 두 변의 합 271보다 작으므로 삼각형을 완성할 수 있습니다. 따라서 1을 return합니다.


풀이

const solution = (sides)=> {
    sides.sort((a,b)=>a-b);
    return (sides[0] + sides[1] > sides[2] ? 1 : 2)
}
  1. 오름차순으로 정렬
  2. 비교

알아야할 것

오름차순 정렬 arr.sort((a, b) => a - b)
b 가 더 클 때만 a - b의 결과로 음수가 나옴. 그러면 b 즉, 앞에 있는 값이 더 클 때 변경이 일어나니까 뒤에 있는 큰 값이 다 앞으로 오게 돼서 오름차 순 정렬

내림차순 정렬 arr.sort((a, b) => b-a)
a (뒤에 있는 값을 의미)가 더 클 때만 b - a 의 결과로 음수. 그러면 결국 뒤에 있는 값이 클 때 변경이 일어나기 때문에, 큰 값은 뒤로 가게 되고 작은 값은 앞으로 오게 돼서 내림차순 정렬
더 알아보기

post-custom-banner

0개의 댓글