ASAP 개발
[C# 프로그래머스] 코딩 테스트 입문 > 각도기 본문
안녕하세요 개발자 이현석 입니다.
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
'알고리즘 > 프로그래머스(C#)' 카테고리의 다른 글
[C# 프로그래머스] 코딩 테스트 입문 > 가장 큰 수 찾기 (0) | 2022.10.20 |
---|---|
[C# 프로그래머스] 코딩 테스트 입문 > 세균 증식 (0) | 2022.10.17 |
[C# 프로그래머스] 코딩 테스트 입문 > 두 수의 나눗셈 (1) | 2022.10.13 |
Comments