알고리즘/코드워

[python]Exclusive "or" (xor) Logical Operator

(ㅇㅅㅎ) 2020. 12. 2. 03:54
728x90
반응형

www.codewars.com/kata/56fa3c5ce4d45d2a52001b3c/train/python

 

Codewars: Achieve mastery through challenge

Codewars is where developers achieve code mastery through challenge. Train on kata in the dojo and reach your highest potential.

www.codewars.com

이 문제는 입력받은 두 불리언을 xor 한 값을 반환하는 것입니다.

 

xor이란 수리 논리학에서 주어진 2개의 명제 가운데 1개만 참일 경우를 말합니다.

벤 다이어 그램으로 보면 다음과 같습니다.

더 자세한 정보는 아래의 사이트에서 확인하시면 됩니다.

ko.wikipedia.org/wiki/%EB%B0%B0%ED%83%80%EC%A0%81_%EB%85%BC%EB%A6%AC%ED%95%A9

 

배타적 논리합 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 배타적 논리합(排他的論理合, exclusive or)은 수리 논리학에서 주어진 2개의 명제 가운데 1개만 참일 경우를 판단하는 논리 연산이다. 약칭으로 XOR, EOR, EXOR라고도

ko.wikipedia.org

 

xor의 경우 비트 논리 연산자로 파이썬에서는 비트 연산자는 다음과 같이 사용이 가능합니다. 

비트 논리 연산자 사용 방법 설명
& a & b a와 b의 비트를 and 연산
| a | b a와 b의 비트를 or 연산
^ a ^ b a와 b의 비트를 xor 연산
~ ~a a의 비트를 뒤집음
<< a << b a의 비트를 b번 왼쪽으로 이동
>> a >> b a의 비트를 b번 오른쪽으로 이동

더 자세하고 많은 정보는 다음 사이트에서 확인 가능합니다.

dojang.io/mod/page/view.php?id=2460

 

파이썬 코딩 도장: 47.1 비트 연산자 사용하기

Unit 47. 부록 이제부터 부록입니다. 부록은 참고삼아 알아둘 내용, 자주 사용하지 않는 기능, 내용이 다소 어려운 부분, 파이썬을 어느 정도 알고난 뒤에 봐야할 내용 등을 담았습니다. 여기에 나

dojang.io

이 문제는 ^ 연산자뿐만 아니라!= 나 is not을 사용해서도 문제를 풀 수 있습니다.

def xor(a, b):
    return a ^ b
def xor(a, b):
    return a != b
def xor(a, b):
    return a is not b

 

반응형

'알고리즘 > 코드워' 카테고리의 다른 글

[python]Squash the bugs  (0) 2021.03.08
[python]Holiday VI - Shark Pontoon  (0) 2020.12.03
[python]How good are you really?  (0) 2020.12.01
[python]Thinkful - Number Drills: Blue and red marbles  (0) 2020.11.30
[python]No zeros for heros  (0) 2020.11.28