문제 설명
각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요.
예각 : 0 < angle < 90
직각 : angle = 90
둔각 : 90 < angle < 180
평각 : angle = 180
내가 작성한 코드
function solution(angle) {
var answer = 0;
if(0 < angle && angle < 90){
answer = 1;
} else if (angle == 90){
answer = 2;
} else if (90 < angle && angle < 180 ) {
answer = 3;
} else if (angle == 180){
answer = 4;
}
return answer;
}
처음에 if문을 돌렸을 때 테스트 케이스 몇개가 자꾸 틀렸다고 나와서 뭐가 문제인지 한참 헤매었다.
내가 봤을 땐 아무리 봐도 문제가 없는 코드였다.
if문을 따로 분리하여 다중 if문으로도 만들어보고 if문 내의 answer에 숫자를 대입할 때 +=으로도 바꿔보고 온갖 짓을 다 했는데 자꾸 오답으로 나오길래 정말 뭐가 문제인지 헷갈렸다.
이렇게 쉬운 문제를 헤메고 있다는 생각에 자존심도 상했다.
알고보니 if문 조건에(0 < angle && angle < 90)을 (0 < angle < 90)으로 했기 때문에 발생한 문제였다. if문 내부에 조건을 달 때는 하나씩 달아야 한다 위 조건처럼 한번에 두가지 조건을 달았을 때는 정답을 도출하지 못한다.
이제라도 알았으니 됐다.