본문 바로가기
프로그래머/프로그래머스

C#)프로그래머스_각도기

by FourthWay 2023. 2. 18.
728x90
반응형

문제설명

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

입출력 예

angle result
70 1
91 3
180 4

 

입출력 예 설명

입출력 예 #1

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

입출력 예 #2

  • angle이 91이므로 둔각입니다. 따라서 3을 return 합니다.

입출력 예 #3

  • angle이 180이므로 평각입니다. 따라서 4를 return 합니다.

나의 풀이

using System;

public 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 if(angle==180)
        {
            answer = 4;
        }
        
        
        return answer;
    }
}
테스트 1
입력값 70
기댓값 1
실행 결과 테스트를 통과하였습니다.
테스트 2
입력값 91
기댓값 3
실행 결과 테스트를 통과하였습니다.
테스트 3
입력값 180
기댓값 4
실행 결과 테스트를 통과하였습니다.

 

다른 사람의 풀이

using System;

public class Solution 
{
    public int solution(int angle) 
    {
        int answer = angle < 90 ? 1 : angle == 90 ? 2 : angle < 180 ? 3 : 4;
        return answer;
    }
}




using System;

public class Solution 
{
    public int solution(int angle) 
    {
        int answer = 0;
        switch(angle)
        {
            case 90:
                answer = 2;
                break;
            case 180:
                answer = 4;
                break;
            default:
                if(angle < 90) answer = 1;
                else answer = 3;
                break;
        }
        return answer;
    }
}





using System;

public class Solution 
{
    public int solution(int angle) 
    {        
        if (angle == 180) return 4;
        if (angle > 90) return 3;
        if (angle == 90) return 2;
  return 1;
    }
}




using System;

public class Solution {
    public int solution(int angle) {
        int answer = angle / 90 + 1 + (angle > 90 ? 1 : 0);
        return answer;
    }
}





using System;

public class Solution 
{
    public int solution(int angle) 
    {
        int answer = 0;
        int[] standard = new int[]{89,90,179,180};

        for(int i = 0; i < standard.Length; i++)
        {
            if(angle <= standard[i])
            {
                answer = i+1;
                break;
            }            
        }

        return answer;
    }
}

 

**이제 조금씩 조금씩 난이도가 올라가네요 ㅜㅜ

이번에는 저말 각치 못한 방법으로 풀어주신 분들도 계시구요...

if else는 마지막에 else 하나만 써야 하는 거 아닌지... 마지막에도 else if가 들어가서...ㅎ

여전히 햇갈리긴 하네요 ㅜㅜ

728x90
반응형