TIL09-05 js if문에서 부등호

김태혁·2023년 1월 20일
0

TIL

목록 보기
25/205

-문제 설명
각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요.

-예각 : 0 < angle < 90
-직각 : angle = 90
-둔각 : 90 < angle < 180
-평각 : angle = 180

if 문을 활용하면 쉽게 코드를 짤 수 있다고 생각했다.
하지만 if문에서 부등호 활용에 이해가 부족해 실수를 범하였다.

function solution(angle) {
    if (  0 < angle < 90) {
        return 1;
    } else if ( angle == 90) {
        return 2;
    } else if ( 90 < angle < 180) {
        return 3;
    } else {
        return 4; 
    }        
}

이렇게 하니 결과값이 제대로 출력이 되지 않았다.
찾아 본 결과
(90 < angle < 180) = ((90 < angle) < 180 )
위와 같음을 의미하는데 결국 angle값은 180 미만을 모두 포함하게 된다.
그렇기 때문에 두개의 부등호를 쓸 때에는
(90 < angle && angle <180 ) 논리 연사자를 사용해줘야 한다.

올바르게 고친 결과물이다.

function solution(angle) {
    if (  0 < angle && angle < 90) {
        return 1;
    } else if ( angle == 90) {
        return 2;
    } else if ( 90 < angle && angle < 180) {
        return 3;
    } else {
        return 4; 
    }        
}
profile
도전을 즐기는 자

0개의 댓글