BOJ/Python

백준 3009번 네 번째 점 파이썬

띵지니어 2022. 3. 5. 20:51
반응형

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

 

3009번: 네 번째 점

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

www.acmicpc.net

 

내 답안

x = []
for i in range(3):
    a, b = map(int, input().split())
    x.append([a, b])
print(x[0][0]^x[1][0]^x[2][0], x[0][1]^x[1][1]^x[2][1])

 

난이도는 어떻게 풀어도 쉽겠지만 XOR을 기록하기 위해 작성 했다.

맨 마지막줄의 ^XOR 의 비트 연산자 이다.

배타적 논리합으로 문제를 해결하였다.

예를들어 5 ^ 5 ^ 7 은  0 ^ 7 로 나타 낼수 있고, 0 ^ 7 은 7을 나타낸다.

직사각형의 점의 경우 세 점을 알때 나머지 한점은 XOR로 해결할 수 있다는 점을 생각하자.

 

XOR : 참 입력의 개수가 홀수일 때 참 (1/HIGH) 출력을 내보내는 디지털 논리 게이트 이다.

XOR truth table

 

반응형
목차(index)