빵 입니다.

[프로그래머스] 각도기 본문

알고리즘과 자료구조/알고리즘

[프로그래머스] 각도기

bread-gee 2023. 5. 10. 01:24

문제 설명

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

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

제한 사항

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

입출력 예

angle result
70 1
91 3
180 4

나의 풀이

function solution(angle) {
    let answer = 0;
    if (angle > 0 && angle < 90) {
        // 예각
        answer = 1
    } else if (angle === 90) {
        // 직각
        answer = 2
    } else if (angle > 90 && angle < 180) {
        // 둔각
        answer = 3
    } else {
        // 평각
        answer = 4
    }
    return answer;
}

다른 사람 풀이1

function solution(angle) {
    return [0, 90, 91, 180].filter(x => angle>=x).length;
}
// 조건을 분기로 만들어서 filter 메서드를 사용할 생각을 어떻게 했을까..! (감탄)
// 제한 사항이 있기 때문에, 조건을 0, 90, 91, 180 고정 값으로 분기할 수 있다. 그 고정 조건만 커버하면 된다는 생각을 어떻게 했을까ㅠㅠ...
// 더 열심히 해야겠구먼..
반응형
Comments