https://school.programmers.co.kr/learn/courses/30/lessons/120829
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
내 답안 :
1
2
3
4
5
6
7
8
9
10
11
|
def solution(angle):
answer = 0
if angle < 90: # 예각인 경우
answer = 1
elif angle == 90: # 직각인 경우
answer = 2
elif angle < 180: # 둔각인 경우
answer = 3
elif angle == 180: # 평각인 경우
answer = 4
return answer
|
cs |
if-elif를 이용해서 간단히 구현
개선안 :
1
2
3
|
def solution(angle):
answer = (angle // 90) * 2 + (angle % 90 > 0) * 1
return answer
|
cs |
예각, 직각, 둔각, 평각이 순서대로 1,2,3,4를 리턴하고 이것을 나누는 기준점이 90, 180인 것을 이용한 코드이다.
굉장히 짧지만 문제를 보고 바로 생각해내기엔 어려울 듯 하다.
앞으로 문제를 풀 때 리턴 값에 규칙성이 있다면 이것을 이용할 방법을 고려해봐야겠다.
1
2
3
4
5
|
def solution(angle):
if angle<=90:
return 1 if angle<90 else 2
else:
return 3 if angle<180 else 4
|
cs |
내가 푼 것과 마찬가지로 if문을 사용했는데, 내 풀이보다 가독성이 좋은 코드이다.
'프로그래밍 > Python' 카테고리의 다른 글
프로그래머스_python lv0. 짝수의 합 (0) | 2023.01.30 |
---|---|
프로그래머스_python lv0. 양꼬치 (0) | 2023.01.28 |
파이썬 개념 - 문자열 관련 함수(format, upper, strip, find, split) (0) | 2023.01.26 |
파이썬 개념 - 자료형과 문자열 (0) | 2023.01.26 |
프로그래머스_python lv0. 특정 문자 제거하기 (0) | 2023.01.25 |