728x90
문제
2차원 좌표 상의 여러 점의 좌표 (x,y)가 주어졌을 때, 각 사분면과 축에 점이 몇 개 있는지 구하는 프로그램을 작성하시오.
https://www.acmicpc.net/problem/9610
입력
첫째 줄에 점의 개수 n (1 ≤ n ≤ 1000)이 주어진다.
다음 n개 줄에는 점의 좌표 (xi, yi)가 주어진다. (-106 ≤ xi, yi ≤ 106)
출력
각 사분면과 축에 점이 몇 개 있는지를 예제 출력과 같은 형식으로 출력한다.
예제
# input
5
0 0
0 1
1 1
3 -3
2 2
# output
Q1: 2
Q2: 0
Q3: 0
Q4: 1
AXIS: 2
문제 풀이
n = int(input())
quadrants = [0] * 5
for _ in range(n):
x, y = map(int, input().split())
if x == 0 or y == 0:
quadrants[4] += 1
elif x > 0:
quadrants[0 if y > 0 else 3] += 1
else:
quadrants[1 if y > 0 else 2] += 1
print(f'Q1: {quadrants[0]}\n'
f'Q2: {quadrants[1]}\n'
f'Q3: {quadrants[2]}\n'
f'Q4: {quadrants[3]}\n'
f'AXIS: {quadrants[4]}')
파이썬을 독학하시는 분들에게 도움이 되길 바라며,
혹 더 좋은 방법이 있거나 오류가 있다면 편하게 말씀 부탁드립니다.
728x90