문제
세 개의 각도를 담은 문자열을 입력으로 받습니다. 각각의 각도는 공백으로 구분되며 줄 바꿈으로 구분됩니다. 주어진 각도들로 이루어진 삼각형의 종류를 판별하여 반환합니다.
주어진 각도들로 삼각형을 만들 수 없다면 Error를 반환합니다. 삼각형이라면, 이 삼각형이 정삼각형인지, 이등변삼각형인지, 또는 일반적인 삼각형인지를 판별하여 Equilateral, Isosceles, Scalene 중 하나를 반환합니다.
입력
줄바꿈을 기준으로하여 3줄 정수가 들어갑니다.
예시
const test_case = `60
60
60`
// Equilateral 출력
풀이
function classifyTriangle(angles) {
const angleArray = angles.split('\n').map(Number);
const sum = angleArray[0] + angleArray[1] + angleArray[2];
if (sum != 180) return 'Error';
else if (angleArray[0] === angleArray[1] && angleArray[1] === angleArray[2])
return 'Equilateral';
else if (
angleArray[0] === angleArray[1] ||
angleArray[1] === angleArray[2] ||
angleArray[0] === angleArray[2]
)
return 'Isosceles';
else return 'Scalene';
}
우선 에러를 먼저 걸러낸 뒤 조건문이 쉬운순서대로 리턴시킵니다.
'코딩문제' 카테고리의 다른 글
중복되지 않은 좌표 구하기 (0) | 2024.04.08 |
---|---|
소인수분해 결과 출력하기 (0) | 2024.04.07 |
소수 개수 세기 (0) | 2024.04.07 |
K번째로 약수를 찾아라 (0) | 2024.04.07 |
사다리 오르내리기 (0) | 2024.04.03 |