문제(출처: 프로그래머스)
선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.
"가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다."
삼각형의 세 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다.
세 변으로 삼각형을 만들 수 있다면 1, 만들 수 없다면 2를 return하도록 solution 함수를 완성해주세요.
▶ 내가 푼 방식
function solution(sides) {
const max = Math.max(...sides);
sides.splice(sides.indexOf(max),1)
if (max < (sides[0] + sides[1])){
return 1
}
return 2;
}
▶ 다른 유저가 푼 방식
// 유저 1 : 정렬 + 삼항연산자
function solution(sides) {
sides = sides.sort((a,b) => a-b)
return sides[0]+sides[1] > sides[2] ? 1 : 2;
}
// 유저 2 : 정렬 + 구조 분해 할당 + 삼항연산자
function solution(sides) {
const [long, a, b] = sides.sort((a,b) => b-a);
return long < a + b ? 1 : 2
}
▶ 배운 것들
- 공부한 것들을 최대한 활용하고 시안성을 좀더 고려하자
-
'프로그래밍 > 코딩연습' 카테고리의 다른 글
[ JS 코딩연습 ] 2024.04.14 : 1. 대문자와 소문자 (0) | 2024.04.14 |
---|---|
[ JS 코딩연습 ] 2024/04/13 : 3.암호 해독 (0) | 2024.04.13 |
[ JS 코딩연습 ] 2024/04/12 : 1. 최댓값 만들기 (0) | 2024.04.12 |
[ JS 코딩연습 ] 2024/04/11 : 3. 숨어 있는 숫자의 덧셈 (0) | 2024.04.11 |
[ JS 코딩연습 ] 2024/04/11: 1. 모음제거 (0) | 2024.04.11 |