728x90
# 문제
선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.
가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.
삼각형의 세 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 세 변으로 삼각형을 만들 수 있다면 1, 만들 수 없다면 2를 return하도록 solution 함수를 완성해주세요.
# 답안
// 1. 입력: sides -> 자연수 배열 [1,2,3] 같은거
// 2. 출력: 1 또는 2
// 3. 요구사항: 가장 긴변 < 다른 두변 길이의 합 -> return 1 아니면 2
function solution(sides) {
const arr = sides.sort((a,b)=>a-b)
return arr[0]+arr[1] > arr[2] ? 1 : 2;
}
# 인사이트
// ( arr[0]+arr[1] > arr[2] ) 이부분은 괄호를 안해도 된다.
// 비교 연산자(>)가 논리 연산자(&&, ||, ? : 등)보다 우선순위가 높기 때문에 (arr[0]+arr[1] > arr[2])의 결과가 먼저 계산되고, 그 결과에 따라 삼항 조건 연산자(? :)가 수행되기 때문
// const arr에서 let이나 const를 생략해도 상관없지만, 이러한 방식은 변수의 범위를 명확하게 지정하지 않기 때문에 코드가 읽기 어려워질 수 있다.
// 또한 전역 변수로 선언되는 위험이 있으므로, 변수를 선언하고 초기화하는 것이 좋은 습관이다.
// 따라서 가능하면 let 또는 const 키워드를 사용하여 변수를 명시적으로 선언하는 것이 바람직하다.
728x90
'Coding Test > Programmers' 카테고리의 다른 글
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 38 - 모음 제거) (0) | 2024.02.07 |
---|---|
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 37 - 제곱수 판별하기) (0) | 2024.02.07 |
[프로그래머스/JavaScript] 코딩 테스트풀이 (문제 35 - 세균 증식) (2) | 2024.02.07 |
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 34 - 문자열 안에 문자열) (0) | 2024.02.04 |
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 33 - 배열의 유사도) (0) | 2024.02.04 |