백준 알고리즘 14681번 문제

sihwan_e·2020년 4월 7일
0

사분면 고르기
문제
흔한 수학 문제 중 하나는 주어진 점이 어느 사분면에 속하는지 알아내는 것이다. 사분면은 아래 그림처럼 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)
출력
점 (x, y)의 사분면 번호(1, 2, 3, 4 중 하나)를 출력한다.

풀이

(접근)
x = input() 을 실행하면 사용자가 값을 입력할수 있게된다. 그리고 이때 input은 기본적으로 문자열(String)으로 취급되고, 숫자를 입력해도 문자열로 인식한다.
그래서 이때 int로 감싸주면 정수로 저장이 되고, float로 감싸주면 실수로 저장이 된다.

왜 이 설명을 먼저 하게 되었냐면, 우린 4분면의 성질을 숫자를 통해 나타내기 때문이다.
1사분면은 x>0 , y>0
2사분면은 x<0 , y>0
3사분면은 x<0 , y<0
4사분면은 x>0 , y<0 에 해당하는 부분들이고 , 저 x,y에는 정수들이 들어가 각 좌표가 어느 사분면에 해당하는지를 알려주게 될것이다.

x = int(input())
y = int(input())

if x>0 and y>0:
	print(1)
elif x<0 and y>0:
	print(2)
elif x<0 and y<0:
	print(3)
else:                   
	print(4) 
(마지막 else에는 설명이 필요없다)
                        (그걸 모르고 else x>0 and y<0: 
                                      (으로 했다가 틀렸었다.)   
profile
Sometimes you gotta run before you can walk.

0개의 댓글