문제
세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오.
입력
세 점의 좌표가 한 줄에 하나씩 주어진다. 좌표는 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 좌표 리스트 중 하나만 담겨 있는 좌표를 찾아서 출력한다.