문제
직사각형을 좋아하는 유니는 좌표평면 위에 직사각형 하나를 그렸다.
이 직사각형의 각 변은 x축에 평행하거나 y축에 평행하도록 그려졌다.
어느날 직사각형보다 직각삼각형을 좋아하는 지니가 유니의 직사각형의 네 꼭짓점 중 하나를 지워버렸다.
유니가 다시 직사각형을 만들 수 있도록 남아있는 세 꼭짓점의 좌표를 입력하면 지니가 지운 점의 좌표를 알려주는 프로그램을 작성하시오.
입력
첫째 줄에 테스트케이스의 수 T가 주어진다..
각 테스트케이스의 첫 줄에 x1, y1, x2, y2, x3, y3가 공백으로 구분되어 주어진다. 이는 남은 세 점의 좌표가 각각 (x1, y1), (x2, y2), (x3, y3)임을 의미한다. 모든 점의 좌표는 1 이상 1,000,000 이하의 자연수다.
( 1 ≤ T ≤ 10 )
출력
각 테스트케이스마다 '#'과 테스트케이스의 번호, 공백을 출력한 뒤 지니가 지운 점의 x좌표와 y좌표를 공백으로 구분하여 출력한다.
문제 풀이
직사각형의 세 꼭짓점의 좌표가 주어졌을 때
나머지 한 점의 좌표를 구하는 문제입니다.
직사각형의 세 꼭짓점의 좌표가 주어졌을 때
나머지 한 점의 좌표는
x좌표와 y좌표를 나누어 생각했을 때
세 개의 x 좌표 중 하나만 등장한 좌표가 나머지 한 점의 x 좌표가 되고
세 개의 y 좌표 중 하나만 등장한 좌표가 나머지 한 점의 y 좌표가 됩니다.
따라서 만약 x1 과 x2가 같다면 나머지 한 점의 x 좌표는 x3이 됩니다.
이런 식으로 각 경우에 따라 나머지 한 점의 x 좌표와 y 좌표를 구할 수 있습니다.
My code
for tc in range(int(input())):
x1, y1, x2, y2, x3, y3 = map(int,input().split()) # 세 점의 좌표
# 세 x 좌표 중 다른 하나를 넣어줌
if x1 == x2:
x4 = x3
elif x1 == x3:
x4 = x2
else:
x4 = x1
# 세 y 좌표 중 다른 하나를 넣어줌
if y1 == y2:
y4 = y3
elif y1 == y3:
y4 = y2
else:
y4 = y1
print('#' + str(tc + 1), end = ' ')
print(x4, y4)
'알고리즘' 카테고리의 다른 글
[알고리즘 문제] inequal (Python / 파이썬) (0) | 2022.05.12 |
---|---|
[알고리즘 문제] tobin (Python / 파이썬) (0) | 2022.05.12 |
[알고리즘 문제] 문자열 압축2 (Python / 파이썬) (0) | 2022.05.11 |
[알고리즘 문제] 해싱2 (Python / 파이썬) (0) | 2022.05.11 |
[알고리즘 문제] 369 (Python / 파이썬) (0) | 2022.05.11 |
댓글