본문 바로가기
Programming/코딩 테스트

[프로그래머스] 코딩테스트 입문 - 각도기 (Java)

by Rayched 2023. 3. 4.
[프로그래머스] 코딩테스트 입문 - 각도기

▶ 문제 명: [프로그래머스] 코딩테스트 입문 - 각도기

▶ 제시된 문제 요약

 - int형 매개변수 angle이 예각일 때 1을, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하는

   solution 함수를 완성해주세요.

  • 예각: 0 < angle < 90
  • 직각: angle = 90
  • 둔각: 90 < angle < 180
  • 평각: angle = 180

사용한 언어: Java


▶ 문제 풀이

public class Main {
    public static void main(String[] args){
        Solution Example = new Solution();
        Example.solution(91);
    }
}

class Solution {
    int solution(int angle){
        int answer = 0;

        if(angle > 0 && angle < 90){
            answer = 1;
            System.out.printf("angle이 %d이므로 예각입니다. 따라서 %d를 return합니다.\n", angle, answer);
        }
        else if(angle == 90){
            answer = 2;
            System.out.println("angle이 90이므로 직각입니다. 따라서 2를 return합니다.");
        }
        else if(angle > 90 && angle < 180){
            answer = 3;
            System.out.printf("angle이 %d이므로 둔각입니다. 따라서 %d를 return합니다.\n", angle, answer);
        }
        else if (angle == 180) {
            answer = 4;
            System.out.println("angle이 180이므로 평각입니다. 따라서 4를 return합니다.");
        }
        return answer;
    }
}

 

매개변수 angle의 값이 91이므로, 둔각임을 알리는 조건문이 실행된 것을 확인


 

▶ 문제 풀이 과정 복기

제시된 문제를 한번 살펴보자.

매개변수 angle이 예각 혹은 직각, 둔각, 평각이냐에 따라서

각기 다른 값을 return해야 한다고 한다.

 

solution 메서드를 살펴보면 변수 answer가 있고

answer에 담긴 값을 return하기 때문에

여기에 담을 값을 각기 다르게 설정해줄 필요가 있다.

 

각도에 따라서 answer가 다른 값을 가져야하므로 if 조건문을 활용했다.

조건식은 '0 < angle < 90'과 같은 형태로 작성할 수는 없기 때문에

'&&', AND 연산자를 사용해서 아래와 같이 조건을 설정해줬다.

더보기
  • Angle > 0 && Angle < 90
  • Angle == 90
  • Angle > 90 && Angle < 180
  • Angle == 180

if 조건문의 조건식을 설정하고

변수 answer의 값을 각각 1 ~ 4로 바꾸도록 작성해서

solution 메서드를 완성했다.

각 조건문에서 문장을 출력하는 코드는 그냥 편의상 return할 answer의 값이

제대로 들어갔는 지 확인하기 위해서 추가한 것이다.

실제 문제 풀이때는 넣지 않았다.