프로그래머스 - 각도기

Lellow_Mellow·2023년 1월 15일
0
post-thumbnail

⭐ Lv. 0 - 각도기

✅ 문제 설명

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

✅ 입출력 예

angleresult
701
913
1804

입출력 예 #1

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

입출력 예 #2

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

입출력 예 #3

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

✅ 풀이 코드 + 설명

단순히 ifelse if문을 사용해서 해결할 수 있는 문제다. 이를 삼항 연산자를 이용하여 한 줄로 표현하여 아래와 같이 풀이하였다.

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

하지만 위와 같이 삼항 연산자를 중복해서 한 줄에 사용할 경우, 가독성이 떨어진다고 느껴진다. 따라서 배열의 요소 중에서 특정 조건을 만족하는 요소만을 골라 배열의 형태로 return 해주는 filter를 사용하여 아래와 같이 풀이할 수 있다.

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

profile
잔잔한 물결에서 파도로, 도약을 위한 도전. 함께하는 성장

0개의 댓글