-
[백준] 14681번 사분면 고르기 - JAVA백준 문제 풀이/JAVA 2023. 6. 1. 12:29
문제
흔한 수학 문제 중 하나는 주어진 점이 어느 사분면에 속하는지 알아내는 것이다. 사분면은 아래 그림처럼 1부터 4까지 번호를 갖는다. "Quadrant n"은 "제 n사분면"이라는 뜻이다.
예를 들어, 좌표가 (12, 5)인 점 A는 x좌표와 y좌표가 모두 양수이므로 제1사분면에 속한다. 점 B는 x좌표가 음수이고 y좌표가 양수이므로 제2사분면에 속한다.
점의 좌표를 입력받아 그 점이 어느 사분면에 속하는지 알아내는 프로그램을 작성하시오. 단, x좌표와 y좌표는 모두 양수나 음수라고 가정한다.
입력
첫 줄에는 정수 x가 주어진다. (−1000 ≤ x ≤ 1000; x ≠ 0) 다음 줄에는 정수 y가 주어진다. (−1000 ≤ y ≤ 1000; y ≠ 0)
더보기9
-13
출력
점 (x, y)의 사분면 번호(1, 2, 3, 4 중 하나)를 출력한다.
더보기4풀이
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int x = sc.nextInt(); int y = sc.nextInt(); if(x>0 && y>0) { System.out.println("1"); } else if(x<0 && y>0) { System.out.println("2"); } else if(x<0 && y<0) { System.out.println("3"); } else { System.out.println("4"); } } }
1. import java.util.Scanner
java에서는 Scanner 클래스를 사용하여 값을 입력받습니다.
Scanner은 java.util 패키지에 포함되어 있기 때문에 java.util을 import 해줘야 Scanner를 사용할 수 있습니다.
따라서 코드 맨 위에 'import java.util.Scanner'를 입력해 줍니다.
2. Scanner sc = new Scanner(System.in);
그다음 입력받기 위해 Scanner 객체를 생성합니다.
'sc'는 객체 이름으로 원하는 이름으로 변경해 줘도 상관없습니다.
3. int x = sc.nextInt();
입력받은 숫자를 정수값 변수 x와 y에 저장을 해줍니다.
Scanner 클래스 메소드에는 여러 가지가 있지만 정수형을 입력받을 것이기 때문에 'sc.nextInt()'로 int를 읽어옵니다.
4. if(x>0 && y>0){ System.out.println(1); }
1사분면은 x, y 값 모두 양수입니다.
조건에서 x좌표와 y좌표 몯 양수나 음수이기 때문에 0일 가능성은 제외하고서
x의 값이 0보다 큰 양수인지, y의 값이 0보다 큰 양수인지 확인한 후에 두 값이 모두 양수이면 1사분면에 속하기 때문에 1을 출력합니다.
5. else if(x<0 && y>0){ System.out.println(2); }
2사분면은 x의 값이 음수, y의 값이 양수입니다.
if문에서는 1사분면의 조건을 확인했기 때문에 여러 조건을 확인하기 위해 if-else문을 사용합니다.
if-else문은 여러 가지 조건을 확인할 때 사용하며 if문에서 조건을 만족하지 못했을 때 if-else문에서 조건을 검사합니다.
x의 값이 0보다 작은 음수인지, y의 값이 0보다 큰 양수인지 확인한 후에 두 조건이 모두 만족하면 2사분면에 속하기 때문에 2를 출력합니다.
6. else if(x<0 && y<0){ System.out.println(3); }
3사분면은 x, y 값 모두 음수입니다.
x의 값이 0보다 작은 음수인지, y의 값이 0보다 작은 음수인지 확인한 후에 두 조건이 모두 만족하면 3사분면에 속하기 때문에 3을 출력합니다.
7. else{ System.out.println(4) };
위 3가지 조건을 모두 만족하지 않는 것은 4사분면에 속한다 가정하여 else문으로 4를 출력합니다.
'백준 문제 풀이 > JAVA' 카테고리의 다른 글
[백준] 2525번 오븐 시계 - JAVA (0) 2023.06.05 [백준] 2884번 알람 시계 - JAVA (0) 2023.06.01 [백준] 2753번 윤년 - JAVA (0) 2023.05.30 [백준] 9498번 시험 성적 - JAVA (0) 2023.05.30 [백준] 1330번 두 수 비교하기 - JAVA (0) 2023.05.30