백준 BaekJoon Online Judge // 3009

2021. 1. 22. 17:04Programming/BOJ

백준 알고리즘  BaekJoon Online Judge 3009번 "네 번째 점" 문제입니다.

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

  if y in y_lst:
    y_lst.remove(y)
  else:
    y_lst.append(y)

print(x_lst[0], y_lst[0])

세 점의 좌표가 주어졌을 때 나머지 한 개의 직사각형 꼭짓점 좌표를 구하는 문제다.

 

구하는 방법은 여러가지가 있겠지만 나는 x, y 좌표들을 입력받았을 때 리스트에 없으면 넣고 있으면 빼는 식으로 하였다.

 

직사각형은 4개의 꼭짓점으로 이루어져 있고 x, y좌표들은 2종류 2개씩 입력받게 되어있다.

 

즉 한 종류는 remove메서드에 의해서 반드시 제거가 되게 되어있고 하나는 append만 되고 remove는 되지 않는 상태로 리스트에 남아있다.

 

즉, 리스트의 남아있는 요소가 우리가 출력할 x, y 좌표다.