개발로그필름

[프로그래머스] 각도기 javascript (조건식, filter, 삼항연산자) 본문

coding test/프로그래머스

[프로그래머스] 각도기 javascript (조건식, filter, 삼항연산자)

yuullog 2023. 2. 25. 15:19
728x90
반응형
SMALL

오늘은 비교적 쉬웠던 프로그래머스 각도기 문제 js로 풀기!

 

근데 다른 사람 풀이 봤는데 한 줄로 코드 짠 거 보고 짱 멋있다고 생각했다,,👍👍👍

 

https://school.programmers.co.kr/learn/courses/30/lessons/120829

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

문제 설명

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

 

입출력 예

입출력 예 설명

 

 

solution.js

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
}

가장 기본적인 if와 else if 조건문을 써서 예각, 직각, 둔각, 평각을 분류하였다

 

 

다른 사람 풀이 1

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

어떻게 이런 코드를 짤 수 있을지 경이로웠던 코드,,,

filter는 특정 요소를 만족하는 요소를 걸러주고 배열로 반환을 하는 함수인데

무슨 각인지 궁금한 angle이 0, 90, 91, 180도를 차례로 비교하면서 몇 개나 angle >= x가 만족하는지 보면 return 값이 나온다.

예를 들어 angle=70이라고 하면 70>=x를 만족하는 x는 0 하나뿐이니까 return 1

angle=91이라고 하면 91>=x를 만족하는 x는 0, 90, 91 3개니까 return 3

다시 봐도 미친 코드,,,ㅎㅎ

 

다른 사람 풀이 2

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

이건 내가 풀었던 조건식을 이용한 풀이를 삼항 연산자를 이용해 한 줄로 풀이한 코드

 

 

 

 

 

반응형
LIST
Comments