코드 그라데이션
[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은 정수입니다.
[파이썬 풀이]
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
[Java 풀이]
/ 똑같이, 4가지 상황으로 바꿔서 푼다. if / else if ans
1) 90도 미만이면 1 출력.
2) 90도면 2 출력.
3) 180도 미만이면 3 출력
4) 나머지는 4 출력(180 이상)
class Solution {
public int solution(int angle) {
int answer = 0;
if(angle < 90) {
answer = 1;
} else if(angle == 90) {
answer = 2;
} else if (angle < 180) {
answer = 3;
} else {
answer = 4;
}
return answer;
}
}
[다른 사람의 풀이 중에서 아직 내가 이해 못한 코드]
class Solution {
public int solution(int angle) {
int answer = 0;
if(0 < angle && angle < 90) { // 여기서 왜 && 연산자를 굳이 써주는 거지?
answer = 1;
} else if(angle == 90) {
answer = 2;
} else if(90 < angle && angle < 180) {
answer = 3;
} else {
answer = 4;
}
return answer;
}
}
728x90
'Java > 알고리즘' 카테고리의 다른 글
[Lv.1] 행렬의 덧셈 (0) | 2023.02.02 |
---|---|
[lv.0] 배열의 평균값 (0) | 2023.01.25 |
[lv.0] 나머지 구하기 (0) | 2023.01.25 |
[lv.0] 짝수의 합 (0) | 2023.01.25 |
[lv.0] 369게임 (0) | 2023.01.24 |
Comments