새소식

Programmers Coding Test/Java

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

  • -

 

각도기

 

 

https://school.programmers.co.kr/learn/courses/30/lessons/120829

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

1)  문제

각에서 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은 정수입니다.

 

 

2)  예시

 

 

Result Table
angle result
70 1
91 3
180 4

 

 

 

입출력 예 #1
angle이 70이므로 예각입니다. 따라서 1을 return합니다.


입출력 예 #2
angle이 91이므로 둔각입니다. 따라서 3을 return합니다.


입출력 예 #2
angle이 180이므로 평각입니다. 따라서 4를 return합니다.

 

 

 

3)  풀이

 


1. 클래스 선언을 해줍니다

● class Solution {

클래스명은 대문자로 시작해야하고, 정답이라는 의미로 Solution이라는 단어를 사용하였습니다.

 

 

 

 

2. 메소드 선언을 해줍니다.

● public int solution(int angle){

정수인 angle를 매개변수로 사용하는 solution 메소드를 선언해줍니다.

메소드의 결과값인 solution 또한 정수값으로 나오므로, 데이터 타입은 모두 int로 해줍니다.

 

 

 

 

3. 각도에 따라 변하는 값을 result라는 변수값으로 저장되게하고, 초기값 0을 이용하여 초기화해줍니다.
 int result = 0;

 

 

 

 

4. 문제의 제한사항에 맞게 조건문 if를 사용하여줍니다.

단, 여러 조건이 있으므로 else if를 이용하여 조건1일때, 2일때, 3일때, 4일때가 값이 바뀌도록합니다.

● if(0< angle && angle <90) {
            result = 1;
        } else if(angle == 90) {
            result = 2;
        } else if(90< angle && angle < 180){
            result = 3;
        } else if(angle == 180) {
            result = 4;
        }
 

※ else if 란?

다양한 조건을 확인하기 위한 구문

if (조건1) {
    // 조건1이 참일 때 실행되는 코드
} else if (조건2) {
    // 조건2가 참일 때 실행되는 코드
} else if (조건3) {
    // 조건3이 참일 때 실행되는 코드
} else {
    // 위의 어떤 조건도 만족하지 않을 때 실행되는 코드
}

 

 

5. 정의된 각도에 해당하지 않는 각도일 경우 예외처리를 해줍니다.

else {
            throw new IllegalArgumentException("올바른 각도 아님");
        }

 

 

6. 결과값으로 나온 것을 result로 반환해줍니다.
 return result;

 

 

 

 

4)  코드

 

class Solution {
    public int solution(int angle) {
        int result = 0;

        if (0 < angle && angle < 90) {
            result = 1;
        } else if (angle == 90) {
            result = 2;
        } else if (90 < angle && angle < 180) {
            result = 3;
        } else if (angle == 180) {
            result = 4;
        } else {
            throw new IllegalArgumentException("올바른 각도 아님");
        }
        return result;
    }
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.