본문 바로가기

알고리즘/python

[python/파이썬] 백준 3009 네 번째 점

반응형

[문제 출처]

https://www.acmicpc.net/problem/3009

 

3009번: 네 번째 점

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

www.acmicpc.net

 

 

[문제 풀이]

 

축에 평행한 직사각형이 있다면,

x값과 y값은 쌍을 이루게 된다.

직사각형이기에 직각을 이루기 위해서는 한 점에 대해서 x값이 같은 점 하나와, y값이 같은 점이 하나 필요하다.

이는 네 개의 점 모두에 적용되기에 쌍을 이룬다.

 

따라서 3개의 점이 입력되었을 때 개수가 짝수개가 아닌 값을 찾으면 네 번째 점을 찾을 수 있다.

#3009
xList = []
yList = []
for i in range(3):
  x, y = map(int, input().split())
  xList.append(x)
  yList.append(y)

result = [-1, -1]
for i in range(3):
  if xList.count(xList[i]) %2 != 0:
    result[0] = xList[i]
  if yList.count(yList[i]) %2 != 0:
    result[1] = yList[i]

print(*result)
반응형