Small Grey Outline Pointer [프로그래머스] - js 각도기
본문 바로가기
Dev./Algorithm Prac

[프로그래머스] - js 각도기

by sso. 2023. 6. 27.

 

 

각에서 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은 정수입니다.

 

 

 

나의 풀이

function solution(angle) {
    var answer = 0;
    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;
    }
    return answer;
}

 

 

 

다른사람의 풀이

function solution(angle) {
    // 조건에 맞는 값들을 배열로 만든 뒤, filter를 이용하여 나온 값의 길이를 반환한다.
    return [0, 90, 91, 180].filter((v) => (angle >= v)).length;
}

 


Array.prototype.filter()

filter() 메서드는 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환

 arr.filter(callback(element[, index[, array]])[, thisArg])

 

 

const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];

const result = words.filter(word => word.length > 6);

console.log(result);
// Expected output: Array ["exuberant", "destruction", "present"]

 

 

 

작은 값 걸러내기

function isBigEnough(value) {
  return value >= 10;
}

var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
// filtered 는 [12, 130, 44]
728x90

댓글