본문 바로가기
프로그래밍/백준 문제 풀이(자바)

백준 자바 사분면 고르기 문제 답/해설(14681번 문제)

by 리드민 2021. 6. 17.
반응형

[1] 백준 카테고리
단계별로 풀어보기
if문
4단계 14681번 문제
사분면 고르기


[2] 문제
흔한 수학 문제 중 하나는 주어진 점이 어느 사분면에 속하는지 알아내는 것이다. 사분면은 아래 그림처럼 1부터 4까지 번호를 갖는다. "Quadrant n"은 "제n사분면"이라는 뜻이다.

예를 들어, 좌표가 (12, 5)인 점 A는 x좌표와 y좌표가 모두 양수이므로 제1사분면에 속한다. 점 B는 x좌표가 음수이고 y좌표가 양수이므로 제2사분면에 속한다.

점의 좌표를 입력받아 그 점이 어느 사분면에 속하는지 알아내는 프로그램을 작성하시오. 단, x좌표와 y좌표는 모두 양수나 음수라고 가정한다.

 

1. 입력값

첫 줄에는 정수 x가 주어진다. (−1000 ≤ x ≤ 1000; x ≠ 0) 다음 줄에는 정수 y가 주어진다. (−1000 ≤ y ≤ 1000; y ≠ 0)

2. 출력

점 (x, y)의 사분면 번호(1, 2, 3, 4 중 하나)를 출력한다.

3. 예제 입력1
12

5
4. 예제 출력 1
1

3. 예제 입력2
9

-13

4. 예제 출력 2
4


[3] 정답
1. 해설 포함

import java.util.Scanner;
/* Scanner 사용을 위해서 클래스 java.util.Scanner
를 import 한다. */
public class Main {
// 접근제어자 public으로 클래스 Main를 선언한다.
	public static void main(String[] args) {
	/* 접근제어자 public, 메모리에 항상 상주하게, 반환값이 없게
	함수 main를 선언한다. */
		Scanner sc = new Scanner(System.in);
		// Scanner 사용을 위해서 객체 sc를 선언한다.
		int num1 = sc.nextInt();
		// 값을 입력받아 변수 num1에 저장한다.
		int num2 = sc.nextInt();
		// 값을 입력받아 변수 num2에 저장한다.
		sc.close();
		// 객체 sc 사용이 끝났으므로 메모리에서 사용을 종료한다.
		if(num1>=1 && num2>=1)
		/* 조건 변수 num1에 저장된 값이 1 이상이고 변수 num2에
		저장된 값이 1 이상일때 대괄호 안의 코드가 실행된다. */
		{
			System.out.print("1");
			// 1를 출력한다.
		}
		if(num1<=-1 && num2>=1)
		/* if 조건문으로 변수 num1의 값이 -1 이하이고
		변수 num2의 값이 1이하인 조건이 만족될 경우
		대괄호 안의 코드가 실행된다. */
		{
			System.out.print("2");
			// 2가 출력된다.
		}
		if(num1<=-1 && num2 <=-1)
		/* if 조건문으로 변수 num1의 값이 -1이하이면서 변수
		num2의 값이 -1이하인 조건이 만족되면 밑의 대괄호 안의
		코드가 실행된다. */
		{
			System.out.print("3");
			// 3이 출력된다.
		}
		if(num1>=1 && num2 <=-1)
		/* if 조건문으로 변수 num1에 저장된 값이 1이상이고
		변수 num2에 저장된 값이 -1 이하인 조건이 만족 될 경우
		밑에 대괄호 안에 있는 코드가 실행된다. */
		{
			System.out.print("4");
			// 4가 출력된다.
		}
	}
}


2. 해설 미포함(정답만)

import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int num1 = sc.nextInt();
		int num2 = sc.nextInt();
		sc.close();
		if(num1>=1 && num2>=1)
		{
			System.out.print("1");
		}
		if(num1<=-1 && num2>=1)
		{
			System.out.print("2");
		}
		if(num1<=-1 && num2 <=-1)
		{
			System.out.print("3");
		}
		if(num1>=1 && num2 <=-1)
		{
			System.out.print("4");
		}
	}
}
반응형