jyamethyst21 님의 블로그

백준 9610번- '사분면' (PYTHON 풀이) 본문

CODING 💻

백준 9610번- '사분면' (PYTHON 풀이)

jyamethyst21 2026. 2. 12. 09:22

문제:

 

좌표값을 전부 다 받은 다음에, 최종적으로 각 사분면에 점이 몇개 있는지, 축에는 몇개가 존재하는지 찾는 문제이다.

 

풀이:

N = int(input())
Q1, Q2, Q3, Q4, AXIS = 0, 0, 0, 0, 0

for i in range(N):
    a, b = map(int,input().split())
    if (a == 0 and b > 0) or (a == 0 and b == 0) or (a > 0 and b == 0):
        AXIS += 1
    elif (a > 0 and b > 0):
        Q1 += 1
    elif (a < 0 and b > 0):
        Q2 += 1
    elif (a < 0 and b < 0):
        Q3 += 1
    elif (a > 0 and b < 0):
        Q4 += 1
print(f'Q1: {Q1} \nQ2: {Q2} \nQ3: {Q3} \nQ4: {Q4} \nAXIS: {AXIS}')

좌표 입력 개수를 입력받고 각 사분면과 축에 점 개수를 저장할 변수를 선언한다.

이후 좌표 입력 개수에 맞게 좌표를 입력받고, 조건문을 작성한다.

조건문은 아주 간단하다. 축에 해당하는 값은 x,y 좌표가 둘 다 0이거나 어느 한쪽이 0인 경우에 해당하고,

1사분면은 x,y 모두 0부터 큰 경우, 2사분면은 a는 0보다 작지만, b는 0보다 큰 경우,

3사분면은 a,b가 모두 0보다 작은 경우, 4사분면은 a가 0보다 크지만 b는 0보다 작은 경우에 해당한다.

 

각 경우에 해당한다면 관련 변수에 1씩 값을 더해주고 출력 예제 양식에 맞춰서 값을 출력하면 된다.