🔒 문제
세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오.
⌨ 입력
세 점의 좌표가 한 줄에 하나씩 주어진다. 좌표는 1보다 크거나 같고, 1000보다 작거나 같은 정수이다.
🖨 출력
직사각형의 네 번째 점의 좌표를 출력한다.
📚 예제
Ex1)
5 5
5 7
7 5
7 7
Ex2)
30 20
10 10
10 20
30 10
📌 풀이
좌표에 쓰이는 값들은 a,b,c,d 이다.
직사각형을 그리는데 a,b,c,d 는 각각 총 2번 쓰인다.
그러면 나머지 한 좌표를 구할 때는 주어진 세 좌표에서 한번씩만 사용된 값들을 이용하면 된다.
예를들어 문제에서 (a,b) (c,b) (c,d) 를 준다면, a는 1번 b는 2번, c는 2번, d는 1번 사용했으니
구해야하는 나머지 한 점의 좌표는 (a,d)가 된다.
🔑 python 코드
import sys
from collections import defaultdict
rec_x = defaultdict(int)
rec_y = defaultdict(int)
for i in range(3):
x,y = map(int,sys.stdin.readline().split())
rec_x[x]+=1
rec_y[y]+=1
for key, value in rec_x.items():
if value == 2: continue
x = key
for key, value in rec_y.items():
if value == 2: continue
y = key
print(x,y)
'BAEKJOON > 단계별로 풀어보기' 카테고리의 다른 글
[BOJ] 2477번 : 참외밭 (0) | 2022.09.27 |
---|---|
[BOJ] 4153번 : 직각삼각형 (0) | 2022.09.27 |
[BOJ] 1085번 : 직사각형에서 탈출 (0) | 2022.09.16 |
[BOJ] 11478번 : 서로 다른 부분 문자열의 개수 (0) | 2022.09.15 |
[BOJ] 1269번 : 대칭 차집합 (0) | 2022.09.14 |