문제 설명
각에서 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
입출력 예 #2
입출력 예 #2
내 풀이
class Solution {
public int solution(int angle) {
int answer = 0;
if (0<angle && angle<90) {
return 1;
} else if (90==angle) {
return 2;
} else if (90<angle && angle<180) {
return 3;
} else if (180==angle) ; {
return 4;
}
}
}
한번 더 사고한 풀이
// {}를 안쓰고 한줄에 하는 방법!
class Solution {
public int solution(int angle) {
if (angle > 0 && angle < 90) return 1;
else if (angle == 90) return 2;
else if (angle > 90 && angle < 180) return 3;
else return 4;
}
}
다른 사람의 풀이
// 삼항연산자를 반복 활용 하는 방법.
class Solution {
public int solution(int angle) {
return angle == 180 ? 4 : angle < 90 ? 1 : angle == 90 ? 2 : angle > 90 ? 3 : 0;
}
}
사고
조건이 3개 이상이어서 if문을 써야한다고 생각했다. if 문으로 풀었을 때 문제는 없었지만, 답안 제출 후 다른 사람의 풀이를 보다가 {}없이 한줄로 조건을 적을 수 있다는 걸 알았고,
최종적으로는 삼항 연산자의 조건에 매개변수를 반복적으로 넣어 활용할 수 있다는 걸 알게되었다.
문제 출처 프로그래머스
잘 보고 갑니다.
@)))) 김밥 좀 드시고 하세요