[백준] 3009번 네 번째 점 | 파이썬 Python

문제

세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오.

 

입력

세 점의 좌표가 한 줄에 하나씩 주어진다. 좌표는 1보다 크거나 같고, 1000보다 작거나 같은 정수이다.

 

출력

직사각형의 네 번째 점의 좌표를 출력한다.

 

예제

 

나의 풀이

point_list = [[], []]
for i in range(3):
    x, y = map(int, input().split())
    point_list[0].remove(x) if x in point_list[0] else point_list[0].append(x)
    point_list[1].remove(y) if y in point_list[1] else point_list[1].append(y)

print(point_list[0][0], point_list[1][0])
  • 2차원 배열을 사용했다.
  • 중복된 요소를 제거하는 방법으로 세 번째 점의 구해서 좌표를 출력했다.

 

다른 사람의 풀이

x_points = []
y_points = []

for i in range(3):
    x, y = map(int, input().split())
    x_points.append(x)
    y_points.append(y)

for i in range(3):
    if x_points.count(x_points[i]) == 1:
        x4 = x_points[i]
    if y_points.count(y_points[i]) == 1:
        y4 = y_points[i]
        
print(x4, y4)
  • x, y 좌표를 모두 리스트에 담는다.
  • x, y 좌표 리스트 중 하나만 담겨 있는 좌표를 찾아서 출력한다.