알고리즘/프로그래머스(Python)

[프로그래머스/파이썬] (각도기) 문제 풀이

보리시스템 2022. 11. 29.

<프로그래머스 / 코딩테스트 / 입문 / 각도기>

 

[문제링크]

 

https://school.programmers.co.kr/learn/courses/30/lessons/120829?language=python3 

 

프로그래머스

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

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

 

  • 입출력 예
angle result
70 1
91 3
180 4

 

  • 입출력 예 설명
- 입출력 예 #1 : angle이 70이므로 예각입니다. 따라서 1을 return합니다.
- 입출력 예 #2 : angle이 91이므로 둔각입니다. 따라서 3을 return합니다.
- 입출력 예 #2 : angle이 180이므로 평각입니다. 따라서 4를 return합니다.

 


 

[풀이방법 1]

def solution(angle):
    if 0 < angle < 90 :
        answer = 1

    elif angle == 90:
        answer = 2

    elif 90 < angle < 180:
        answer = 3

    elif angle == 180:
        answer = 4

    return answer

 

[풀이방법 2] 감탄한 다른 사람의 풀이

def solution(angle):

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

 


 

[풀이화면]