1. 문제
흔한 수학 문제 중 하나는 주어진 점이 어느 사분면에 속하는지 알아내는 것이다. 사분면은 아래 그림처럼 1부터 4까지 번호를 갖는다. "Quadrant n"은 "제n사분면"이라는 뜻이다.
예를 들어, 좌표가 (12, 5)인 점 A는 x좌표와 y좌표가 모두 양수이므로 제1사분면에 속한다. 점 B는 x좌표가 음수이고 y좌표가 양수이므로 제2사분면에 속한다.
점의 좌표를 입력받아 그 점이 어느 사분면에 속하는지 알아내는 프로그램을 작성하시오. 단, x좌표와 y좌표는 모두 양수나 음수라고 가정한다.
점 (x, y)의 사분면 번호(1, 2, 3, 4 중 하나)를 출력한다.
2. 코드
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int x,y;
x=sc.nextInt();
y=sc.nextInt();
if (x>0){
if(y>0) System.out.println("1");
else System.out.println("4");
}
else{
if(y>0) System.out.println("2");
else System.out.println("3");
}
sc.close();
}
}
3. 풀이
if문을 사용하여 푸는 방법이 내가 생각한 건 두가지가 있다.
1. (+,+) (+,-) (-,-) (-,+) 인 경우를 모두 if, else if 에 각각 넣어서 출력하기
2. x가 +인경우와 -인 경우로 나눠 출력하기
위에 작성한 코드는 2번째 방법이다.
4. 링크
https://www.acmicpc.net/problem/14681
'Computer Science > 자료구조와 알고리즘' 카테고리의 다른 글
[C] 백준 11399번 ATM (0) | 2020.07.01 |
---|---|
[JAVA] 백준 2884번 알람시계 (0) | 2020.07.01 |
[JAVA] 백준 2753번 윤년 (0) | 2020.07.01 |
[JAVA] 백준 9498번 시험성적 (0) | 2020.07.01 |
[JAVA] 백준 1330번 두 수 비교하기 (0) | 2020.07.01 |