본문 바로가기

Problem Solving/Baekjoon Online Judge

<수학2> 3009번 네 번째 점 with 파이썬

 

문제

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

입력

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

출력

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

정답비율

73.725%

 

x1, y1 = map(int, input().split())
x2, y2 = map(int, input().split())
x3, y3 = map(int, input().split())

# x값 비교하여 x4 구하기
if x1 == x2 :
    x4 = x3
elif x1 == x3 :
    x4 = x2
else :
    x4 = x1

# y값 비교하여 y4 구하기
if y1 == y2 :
    y4 = y3
elif y1 == y3 :
    y4 = y2
else :
    y4 = y1

print(x4,y4)

 

 노트에 점을 찍어보니 명확하게 보였다. 직사각형이기 때문에 x값과 y값은 두 개의 숫자가 두 번씩 나와야 한다. 예를 들어 이 문제의 입력에서는 x 값으로 30 10 10이 주어졌으므로 x4는 30이 되어야한다. y 값으로는 20 10 20 이 주어졌으므로 y4는 10이 되는 것이다.

 

 이를 코드로 구현하면 x1과 x2를 비교해서 같으면 x3이 나머지 하나의 값이 되고, x1과 x3을 비교해서 같으면 x2가 나머지 하나의 값과 같을 것이다. 둘 다 아니라면 x1의 값이 한 번만 나왔다는 의미이므로 x4와 값이 같다. y도 같은 방식으로 구현하여 y4를 구했다.

 

 


 

참고

 

 

3009번: 네 번째 점

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

www.acmicpc.net