[프로그래머스] 각도기

백승연·2023년 12월 10일
0
post-thumbnail

🗒️ 문제

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

  • 예각 : 0 < angle < 90
  • 직각 : angle = 90
  • 둔각 : 90 < angle < 180
  • 평각 : angle = 180
function solution(angle) {
    var answer = 0;
    return answer;
}

제한 사항

  • 0 < angle ≤ 180
  • angle은 정수입니다.

입출력 예

angleresult
701
913
1804

입출력 예 설명

입출력 예 #1

  • angle이 70이므로 예각입니다. 따라서 1을 return합니다.

입출력 예 #2

  • angle이 91이므로 둔각입니다. 따라서 3을 return합니다.

입출력 예 #2

  • angle이 180이므로 평각입니다. 따라서 4를 return합니다.

🖋️ 나의 풀이

처음에 논리연산자를 사용 안 하고 0 < angle < 90처럼 범위로 지정했다가 결과값이 안 나와서 && 연산자로 고쳤더니 바로 실행됐다 ;;

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 if (angle == 180) {
        return 4;
    }
}

💡 다른 사람들의 풀이

filter()와 삼항연산자를 이용한 풀이는 생각도 못한 방법이라 신기해서 가져왔다.

# 1

function solution(angle) {
    return [0, 90, 91, 180].filter(x => angle>=x).length;
}

# 2

function solution(angle) {
    return angle < 90 ? 1 : angle === 90 ? 2 : angle < 180 ? 3 : 4;
}



📝 모르는 내용 찾아보기

profile
공부하는 벨로그

0개의 댓글