백준 14681 ) 사분면 고르기 (java)

2021. 8. 11. 00:05코딩/Python

사분면 고르기 문제이다. 사분면 학창시절 때 함수 구할 때 많이 봤던 건데 ,, 오랜만이다. 

출처 : 백준 

1사분면은 (+,+) 

2사분면은 (-,+) 

3사분면은 (-,-)

4사분면은 (+,-) 

 

 

나의 사고 과정

Scanner 클래스를 이용하여 사용자로부터 x,y 총 2개의 값을 입력받는다. 

if~else if~else 구문으로 해당 사분면에 맞는 양수/음수 부분 처리해서 해당 조건문에 맞는 곳으로 간 뒤 결과값 출력하도록 설계 

 

실행 코드

import java.util.Scanner; 

public class Test {
	public static void main(String[] args){
		
		Scanner sc = new Scanner(System.in); // 사용자로부터 값을 입력받기 위해 Scanner 클래스를 사용한다. 
		int x=sc.nextInt(); // 사용자로부터 입력받은 x값을 integer(정수)형변환 하여 변수 x에 저장한다. 
		int y=sc.nextInt(); // 사용자로부터 입력받은 y값을 integer(정수)형변환 하여 변수 y에 저장한다. 
		
		if((x>=-1000 && x<=1000) && (y>=-1000 && y<=1000)){ // 입력받은 x와 y값은 모두 -1000 이상이고 1000 이하를 만족해야 한다. 
			if(x>0 && y>0) { // x와 y값이 모두 양수라면 
				System.out.println("1"); // 1사분면을 출력한다. 
			}
			
			else if(x<0 && y>0) { //x는 음수이고 y는 양수라면 
				System.out.println("2"); // 2사분면을 출력한다. 
			}
			
			else if(x<0 && y<0) { //x는 음수이고 y는 음수이면 
				System.out.println("3"); // 3사분면을 출력한다. 
			}
			
			else {
				System.out.println("4"); // 1,2,3사분면에 모두 해당하지 않는다면 4사분면 출력 
			}
		}
	}
}

 

실행 결과

10과 5 (+,+) 이므로 1사분면 출력 

-10과 3 (-,+) 이므로 2사분면 출력 

 

-37과 -400이므로 3사분면 출력 

 

900과 -485이므로 4사분면 출력 

 

 

코딩하면서 든 생각

(0,0)이면 어떻게 되나? x=0,y=0을 입력해보니 4사분면이 나왔다. 

백준 페이지에서는 x=0, y=0을 따로 입력하지 않아도 된다고 나왔지만,

x=0, y=0까지 따로 고려를 해야 한다면 예외처리를 해주어야 한다고 한다. 

 

 

'코딩 > Python' 카테고리의 다른 글

백준 2739 ) 구구단 (java)  (0) 2021.08.18
백준 2884 ) 알람 시계 (java)  (0) 2021.08.11
백준 2753 ) 윤년 (java)  (0) 2021.08.10
백준 9498 ) 시험 성적 (java)  (0) 2021.08.08
백준 1330 ) 두 수 비교하기 (java)  (0) 2021.08.08