Skip to content

Baekjoon 12833

1. 문제

문제 확인하기

2. XOR(배타적 논리합)

XOR(배타적 논리합)은 비트 연산자 중 하나로, 두 개의 비트가 다른 경우에만 1을 반환하고, 같은 경우에는 0을 반환하는 연산자입니다. XOR 연산은 "배타적으로 둘 중 하나만 참일 때"라는 의미를 갖고 있습니다.
XOR 연산은 비트 단위로 수행되며, 비트가 서로 다른 경우에만 1을 결과로 반환합니다. 다음은 XOR 연산의 진리표(truth table)입니다.

ABA XOR B
000
011
101
110

위의 진리표에서 볼 수 있듯이, XOR 연산은 두 개의 비트가 같은 경우에는 0을 반환하고, 다른 경우에는 1을 반환합니다. 이를 이용하면 데이터의 비트 패턴을 조작하거나 상태를 변경하는 데 유용하게 사용할 수 있습니다.
XOR 연산을 활용하여 특정 비트를 반전시키거나 특정 비트를 설정 또는 해제할 수 있습니다. 이를 통해 비트 플래그를 조작하거나 집합 연산을 효율적으로 수행할 수 있습니다.

3. 풀이 (Python, memory: 31256KB, time: 44ms)

def xor_operation(a, b, c):
    # C가 짝수일 경우 A를 반환합니다. 짝수 번 XOR 연산 시 동일한 값으로 돌아옵니다.
    if c % 2 == 0:
        return a
    
    # C가 홀수일 경우 A와 B를 XOR 연산하여 결과를 반환합니다.
    else:
        return a ^ b

a, b, c = map(int, input().split())
print(xor_operation(a, b, c))