© 2025 anveloper.dev
GitHub·LinkedIn·Contact

목차

  • 문제
  • 입력
  • 출력
  • 예제
  • 풀이
  • 코드
  • 복잡도
풀이 목록으로 돌아가기

BOJ 14681 - 사분면 고르기

2023-07-23
BOJ
브론즈 V
java
원본 문제 보기
구현
기하학

문제

BOJ 14681 - 사분면 고르기

점의 좌표 (x, y)가 주어졌을 때, 해당 점이 어느 사분면에 속하는지 출력한다.

입력

첫째 줄에 x, 둘째 줄에 y가 주어진다 (-1,000 이상 1,000 이하, 0 아님).

출력

사분면 번호(1, 2, 3, 4)를 출력한다.

예제

입력출력
12 51
-3 -13

풀이

x와 y의 부호 조합으로 사분면을 판별한다.

  1. x > 0이고 x * y > 0이면 1사분면 (y도 양수)
  2. x < 0이고 x * y > 0이면 3사분면 (y도 음수)
  3. x > 0이고 x * y < 0이면 4사분면 (y가 음수)
  4. 나머지는 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)