코드 그라데이션

[lv.0] 각도기 만들기 본문

Java/알고리즘

[lv.0] 각도기 만들기

완벽한 장면 2023. 1. 25. 00:01

이것 역시 알고리즘 세션 때 구글링하여 도움받고 풀었던 문제

<파이썬으로 풀었음>

문제 설명

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

 

[파이썬 풀이]

def solution(angle):
    if 0 < angle < 90 :
        answer = 1
    
    elif angle == 90:
        answer = 2
        
    elif 90 < angle < 180:
        answer = 3
        
    elif angle == 180:
        answer = 4
    
    return answer

 

[Java 풀이]

/ 똑같이, 4가지 상황으로 바꿔서 푼다. if / else if ans

1) 90도 미만이면 1 출력.

2) 90도면 2 출력.

3) 180도 미만이면 3 출력

4) 나머지는 4 출력(180 이상)

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

 

[다른 사람의 풀이 중에서 아직 내가 이해 못한 코드]

class Solution {
    public int solution(int angle) {
        int answer = 0;
        if(0 < angle && angle < 90) { // 여기서 왜 && 연산자를 굳이 써주는 거지?
            answer = 1;
        } else if(angle == 90) {
            answer = 2;
        } else if(90 < angle && angle < 180) {
            answer = 3;
        } else {
            answer = 4;
        }
        return answer;
    }
}
728x90

'Java > 알고리즘' 카테고리의 다른 글

[Lv.1] 행렬의 덧셈  (0) 2023.02.02
[lv.0] 배열의 평균값  (0) 2023.01.25
[lv.0] 나머지 구하기  (0) 2023.01.25
[lv.0] 짝수의 합  (0) 2023.01.25
[lv.0] 369게임  (0) 2023.01.24
Comments