문제
점의 좌표 (x, y)가 주어졌을 때, 해당 점이 어느 사분면에 속하는지 출력한다.
입력
첫째 줄에 x, 둘째 줄에 y가 주어진다 (-1,000 이상 1,000 이하, 0 아님).
출력
사분면 번호(1, 2, 3, 4)를 출력한다.
예제
| 입력 | 출력 |
|---|---|
12 5 | 1 |
-3 -1 | 3 |
풀이
x와 y의 부호 조합으로 사분면을 판별한다.
x > 0이고x * y > 0이면 1사분면 (y도 양수)x < 0이고x * y > 0이면 3사분면 (y도 음수)x > 0이고x * y < 0이면 4사분면 (y가 음수)- 나머지는 2사분면
핵심 아이디어: x * y의 부호로 x, y의 부호 일치 여부를 판단하여 조건 분기를 간소화한다.
코드
package day549;
import java.util.Scanner;
public class Day532BOJ14681사분면고르기 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
int y = sc.nextInt();
if (x > 0 && x * y > 0)
System.out.println(1);
else if (x < 0 && x * y > 0)
System.out.println(3);
else if (x > 0 && x * y < 0)
System.out.println(4);
else
System.out.println(2);
sc.close();
}
}복잡도
- 시간: O(1)
- 공간: O(1)