반응형
이번 문제 또한 간단하다.
x값과 y값을 받아서 어느 사분면에 있는지 판단하여 1~4중 하나를 출력하면 되는 문제이다.
x나 y가 0인 경우는 고려하지 않아도 되기에 간단한 if문 만으로도 표현할 수 있다.
using System;
namespace unicoti {
class Program {
static void Main(string[] args) {
int x,y;
int.TryParse(Console.ReadLine(), out x);
int.TryParse(Console.ReadLine(), out y);
if(x > 0) { //1 or 4
if(y > 0) {
Console.WriteLine("1");
} else {
Console.WriteLine("4");
}
} else {
if(y > 0) {
Console.WriteLine("2");
} else {
Console.WriteLine("3");
}
}
}
}
}
먼저, x값을 양수와 음수로 나눠주었다.
x값이 양수라면 제 1사분면이거나 제 4사분면인데, 이건 y값으로 결정된다.
그렇기에 x값이 양수일때의 코드 안에 y값을 판단하는 if문을 통해서
제1사분면과 제4사분면을 결정할 수 있었다.
마찬가지로, x가 음수인 경우에는 제 2사분면과 제 3사분면이 가능한데,
y값을 if문을 통해서 구분해주어 각각 어느 사분면인지 판단할 수 있었다.
오늘의 느낀점)
나름대로 쉬운 문제였으나 좌표 특성상 각도로 변환할 수 있기에 역탄젠트를 이용해서
각도로 변환만 시켜준다면 한개의 if-else if-else 구문으로 끝낼 수 있겠다고 생각했다.
if문 안에 if문을 쓰는걸 3번 이상 반복하면 안된다고 할 만큼 가시성도 안좋고
많이들 쓰지 말라고 하는 구문이라서 위와 같이 생각을 한번 해 봤으나
2번까지는 괜찮다고 여겨 그냥 저렇게 풀었다.
나름대로 고민해볼 거리가 있었던 문제인 것 같다.
반응형
'코딩테스트 (C#)' 카테고리의 다른 글
백준 2525 : 오븐 시계 - C# 풀이 (0) | 2024.08.17 |
---|---|
백준 2884 : 알람 시계 - C# 풀이 (0) | 2024.08.15 |
백준 2753 : 윤년 - C# 풀이 (0) | 2024.08.13 |
백준 9498 : 시험 성적 - C# 풀이 (0) | 2024.08.12 |
백준 1330 : 두 수 비교하기 - C# 풀이 (0) | 2024.08.02 |
댓글