본문 바로가기
  • GDG on campus Ewha Tech Blog
3-2기 스터디/알고리즘

[알고리즘 스터디] 7주차 활동 기록

by Ashton 2022. 6. 1.
GDCS 알고리즘 스터디 7주차(5/22) 활동 기록입니다.
7주차에는 아주 간단한 '사분면' 문제에 대한 풀이를 공유하였습니다.

 

문제 설명

2차원 좌표 상의 여러 점의 좌표 (x,y)가 주어졌을 때, 각 사분면과 축에 점이 몇 개 있는지 구하는 프로그램을 작성하시오.

입력

첫째 줄에 점의 개수 n (1 ≤ n ≤ 1000)이 주어진다. 다음 n개 줄에는 점의 좌표 (xi, yi)가 주어진다. (-106 ≤ xi, yi ≤ 106)

출력

각 사분면과 축에 점이 몇 개 있는지를 예제 출력과 같은 형식으로 출력한다.

예제 입력

5
0 0
0 1
1 1
3 -3
2 2

예제 출력

Q1: 2
Q2: 0
Q3: 0
Q4: 1
AXIS: 2

 

문제 접근 및 해결 방식

우선 각 사분면에 몇 개의 점이 포함되는지를 기록하기 위한 리스트 points를 생성해주었다. ([Q1,Q2,Q3,Q4,AXIS])
그리고 각 점마다 x, y가 양수, 음수, 0 중 어느 곳에 속하는지에 따라 어느 사분면에 속하는지 판단하고, points 중 맞는 위치에 1을 더해준다.
그리고, 마지막에 모든 입력을 받아 처리한 후 순서대로 출력한다. 

문제 풀이 코드

n = int(input())
points = [0,0,0,0,0]
for _ in range(n):
    x, y = map(int, input().split( ))
    if x > 0:
        if y > 0:    # Q1
            points[0] += 1
        elif y< 0:    # Q4
            points[3] += 1
        else:    # AXIS
            points[4] += 1
    elif x < 0:
        if y > 0:    # Q2
            points[1] += 1
        elif y< 0:    # Q3
            points[2] += 1
        else:    # AXIS
            points[4] += 1
    else:    # AXIS
        points[4] += 1
print("Q1:", points[0])
print("Q2:", points[1])
print("Q3:", points[2])
print("Q4:", points[3])
print("AXIS:", points[4])

 

더 좋은 접근 방법이나 풀이법이 있다면 언제든지 댓글 남겨주세요😊

본 활동 기록은 기록자가 풀이한 문제를 위주로 기술되었으며, 스터디 레포지토리에서 더 많은 문제 풀이를 확인해보실 수 있습니다. 

 

GitHub - gdscewha-3rd/Study-Algorithm: GDSC EWHA 알고리즘 스터디 레포지토리입니다.

GDSC EWHA 알고리즘 스터디 레포지토리입니다. Contribute to gdscewha-3rd/Study-Algorithm development by creating an account on GitHub.

github.com

 

댓글