프로그래머스 -각도기

김민아·2025년 4월 4일

코딩테스트

목록 보기
6/7

💡문제 설명
각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요.


예를들어

  • 주어진 angle : 70
    result 값 : 1
  • 주어진 angle : 91
    result 값 : 3
  • 주어진 angle : 180
    result 값 : 4



🧾제출한 코드


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;
    }
} 



🔨개선한 코드

//개선한 코드 

if (angle < 1 || angle > 180) {
	throw new IllegalArgumentException("각도는 1 이상 180 이하만.");
}

return answer;

입력값 angle은 1 이상 180 이하의 정수일 것으로 문제에 암시돼어 있지만 예상치 못한 값이 들어올 수도 있기 때문에 → 입력 유효성 검사를 추가해주는 게 좋다.
IllegalArgumentException은 자바에서는 메서드 인자(파라미터)가 허용된 범위를 벗어났을 때 이 예외를 자주 사용한다.

profile
천천이 꾸준히

0개의 댓글