Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

ASAP 개발

[C# 프로그래머스] 코딩 테스트 입문 > 각도기 본문

알고리즘/프로그래머스(C#)

[C# 프로그래머스] 코딩 테스트 입문 > 각도기

아라동 2022. 10. 13. 15:10

안녕하세요  개발자 이현석 입니다.

C#을 공부하면서 첫 포스팅이 되는데요  초반에는 프로그래머스 문제 풀이 위주로 올라 갈 것 같습니다.

문제를 풀다 막히면 블로깅을 진행하겠습니다~ 첫 포스팅 시작해 볼께요


각도기

문제 설명 및 입출력예시

 

- 1차 코드

using System;

public class Solution {
    public int solution(int angle) {
        int gak1 = 1;
        int gak2 = 2;
        int gak3 = 3;
        int gak4 = 4;
        
        if (0 < angle < 90){
            return gak1;
        }else if (angle == 90){
            return gak2;
        }else if (90 < angle < 180){
            return gak3;
        }else return gak4;
    }
}

/Solution0.cs(10,13): error CS0019: Operator `<' cannot be applied to operands of type `bool' and `int'
/Solution0.cs(14,19): error CS0019: Operator `<' cannot be applied to operands of type `bool' and `int'

 

당연히 실행될 줄 알았던 코드가 오류를 발생시켰어요.... 왜죠...?

문제는 바로 C#이 0<x<10 형식을 지원하지 않는다는 점이었습니다..

 

그래서 이 문제를 다음과 같은 방식으로 풀 수 있었습니다.

  • 풀이 1
using System;

public class Solution {
    public int solution(int angle) {
        int gak1 = 1;
        int gak2 = 2;
        int gak3 = 3;
        int gak4 = 4;
        
        if (0 < angle && angle < 90){
            return gak1;
        }else if (angle == 90){
            return gak2;
        }else if (90 < angle && angle < 180){
            return gak3;
        }else return gak4;
    }
}

- 논리 연산자 &&을 사용한 풀이

 

  • 풀이 2
using System;

public class Solution {
    public int solution(int angle) {
        int gak1 = 1;
        int gak2 = 2;
        int gak3 = 3;
        int gak4 = 4;
        
        if (angle < 90){
            return gak1;
        }else if (angle == 90){
            return gak2;
        }else if (angle < 180){
            return gak3;
        }else return gak4;
    }
}

- 중첩된 범위를 제외하고 작성하는 방법

 


이상 각도기 문제에서 발생한 문제에 대한 포스팅이였습니다!

 

참고 : https://social.msdn.microsoft.com/Forums/en-US/ae9145fa-cb69-4e57-8674-22432f9420df/operator-lt-cannot-be-applied-to-operands-of-type-bool-and-int?forum=aspgettingstarted

 

Comments