코딩 테스트

백준 14681 풀이 파이썬 조건문

이삼오 2024. 3. 17. 23:32

14681 사분면 고르기

문제

흔한 수학 문제 중 하나는 주어진 점이 어느 사분면에 속하는지 알아내는 것이다. 사분면은 아래 그림처럼 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 = 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")

 

코드 설명

입력에서 첫줄에 정수 x가 주어지고 그 다음 줄에 정수 y가 주어진다는 조건이 있으므로 x, y를 각각 input()으로 입력받고 int 함수를 사용해 정수형으로 변환한다. 

1사분면은 x와 y가 전부 양수이므로 x > 0 and y > 0 이라는 if 조건문을 작성했다. 

2사분면은 x는 음수 y는 양수이므로 X < 0 and y > 0 이라는 elif 조건문을 작성했다.

3사분면은 x 와 y 가 전부 음수이므로 x < 0 and y < 0 이라는 elif 조건문을 작성했다.

4사분면은 x는 양수 y는 음수이지만 위에서 전부 할당해주었기 때문에 else 조건문만 작성하여 4를 반환되게 했다. 

 

문제 설명이 길어 까다로워 보이지만 각 사분면의 위치만 알고 있다면 쉽게 풀 수 있는 문제였다.