[백준][Python] 9610. 사분면
Bronze Ⅲ 🔗9610. 사분면
📝문제 요약
문제
2차원 좌표 상의 여러 점의 좌표 (x,y)가 주어졌을 때, 각 사분면과 축에 점이 몇 개 있는지 구하는 프로그램을 작성하시오.

입력
첫째 줄에 점의 개수 n (1 ≤ n ≤ 1000)이 주어진다. 다음 n개 줄에는 점의 좌표 (xi, yi)가 주어진다. (-106 ≤ xi, yi ≤ 106)
출력
각 사분면과 축에 점이 몇 개 있는지를 예제 출력과 같은 형식으로 출력한다.
✏️문제 풀이
- 점의 개수 n개를 입력받고, 각 좌표의 지점을 확인하기 위한 딕셔너리를 초기화
- n개의 점을 입력받은 후에 위치에 맞는 지점에 count
- Q1 : x > 0, y > 0
- Q2 : x < 0, y > 0
- Q3 : x < 0, y < 0
- Q4 : x > 0, y < 0
- 나머지의 경우는 AXIS
코드와 함께 보는 풀이
# 점의 개수 n 입력
n = int(input())
# 각 사분면의 개수 초기화
result = {'Q1': 0, 'Q2': 0, 'Q3': 0, 'Q4': 0, 'AXIS': 0}
# n개의 점의 위치를 입력받으면서 확인
for _ in range(n):
x, y = map(int, input().split())
if x > 0 and y > 0:
result['Q1'] += 1
elif x < 0 and y > 0:
result['Q2'] += 1
elif x < 0 and y < 0:
result['Q3'] += 1
elif x > 0 and y < 0:
result['Q4'] += 1
else:
result['AXIS'] += 1
# 결과를 저장한 딕셔너리를 순회하며 추력
for key, value in result.items():
print(f'{key}: {value}')
💯제출 코드
n = int(input())
result = {'Q1': 0, 'Q2': 0, 'Q3': 0, 'Q4': 0, 'AXIS': 0}
for _ in range(n):
x, y = map(int, input().split())
if x > 0 and y > 0:
result['Q1'] += 1
elif x < 0 and y > 0:
result['Q2'] += 1
elif x < 0 and y < 0:
result['Q3'] += 1
elif x > 0 and y < 0:
result['Q4'] += 1
else:
result['AXIS'] += 1
for key, value in result.items():
print(f'{key}: {value}')
댓글남기기