주어진 각도가 예각인지 직각인지 둔각인지 평각인지를 알려주는 함수이다
// 각도 구하기
// 1예각 : 0 < angle < 90
// 2직각 : angle = 90
// 3둔각 : 90 < angle < 180
// 4평각 : angle = 180
function solution(angle) {
var answer = 0;
if (0 < angle && angle < 90){
answer = 1;
} else if(angle === 90){
answer = 2;
} else if(90 < angle && angle <180){
answer = 3;
} else if(angle === 180){
answer = 4;
} else{ answer = `범위를 초과하였습니다`}
return answer
}
작동의 문제는 없지만 역시 복잡하다
//Array.prototype.filter()
//주어진 함수(콜백함수)의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환합니다.
function solution(angle) {
return [0, 90, 91, 180].filter(x => angle>=x).length;
}
// 조건에 맞는 요소만 모아 새로운 배열을 만들고 그 배열의 길이를 반환한다
// 예) 160이 주어진 경우
//[0, 90, 91].length => 3
이렇게 메서드를 활용하거나
function solution(angle) {
return angle < 90 ? 1 : angle === 90 ? 2 : angle < 180 ? 3 : 4;
}
삼항연산자를 중첩해서 만들 수 있다 하지만 삼항연산자 중첩은 가독성이 떨어져서 좋지 않아 보인다
일단은 작동만 잘하면 되겠지만 수준을 높이려면 '이런 기능을 하는 메서드가 있다' 라는 걸 알아야 검색해서라도 찾아 쓰니까 다른 사람들의 풀이를 확인하고 모르는 거는 검색해서 알고 알고 있던 것도 다시 한 번 생각하는 시간이 중요할 것 같다