안녕하세요
백준 #3009 파이썬 솔루션
points = ()
for i in range(3):
x, y = map(int, input().split())
points.append((x, y))
x_coords = (point(0) for point in points)
y_coords = (point(1) for point in points)
for i in range(2):
if x_coords.count(x_coords(i)) == 1:
x = x_coords(i)
if y_coords.count(y_coords(i)) == 1:
y = y_coords(i)
print(x, y)
위의 코드에서 입력으로 주어진 세 점의 좌표는 튜플로 그룹화되어 Points 목록에 저장됩니다.
그런 다음 목록 내포를 사용하여 x 좌표 목록과 y 좌표 목록을 만듭니다.
그런 다음 x 및 y 좌표 각각에 대해 두 번 나타나지 않는 값을 찾으십시오.
네 번째 점의 좌표를 반환합니다.
이를 위해 목록의 count() 메서드를 사용합니다.
다른 코드 방법도 있습니다
x = 0
y = 0
for i in range(3):
xi, yi = map(int, input().split())
x ^= xi
y ^= yi
print(x, y)
여기서 ^ 문자는 비트별 XOR 연산을 나타냅니다.
입력으로 지정된 포인트 수를 먼저 입력한 후,
이를 기준으로 좌표가 입력됩니다.
그런 다음 입력 좌표를 기반으로 XOR 연산이 수행됩니다.
네 번째 점의 좌표를 구한 후 출력합니다.
