Algorithm/Programmers

[프로그래머스 Level 0] 각도기(Python)

씨주 2024. 5. 8. 22:47

📝 Level 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은 정수입니다.

📌 입출력 예

angle result
70 1
91 3
180 4

📌 입출력 예 설명

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


입출력 예 #2
angle이 91이므로 둔각입니다. 따라서 3을 return합니다.


입출력 예 #2
angle이 180이므로 평각입니다. 따라서 4를 return합니다.

 

✏️ 나의 풀이

def solution(angle):
    if 0 < angle < 90:
        answer = 1
    elif angle == 90:
        answer = 2
    elif 90 < angle < 180:
        answer = 3
    else:
        answer = 4
    return answer

 

✏️ 다른 풀이(1)

def solution(angle):
    answer = (angle // 90) * 2 + (angle % 90 > 0) * 1
    return answer

 

✏️ 다른 풀이(2)

def solution(angle):
    if angle<=90:
        return 1 if angle<90 else 2
    else:
        return 3 if angle<180 else 4

 

✏️ 다른 풀이(3)

def solution(angle):
    angles = {180: 4, 91: 3, 90: 2, 0: 1}
    for base, result in angles.items():
        if angle >= base:
            return result

 

 

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

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr