728x90
반응형
www.codewars.com/kata/56fa3c5ce4d45d2a52001b3c/train/python
이 문제는 입력받은 두 불리언을 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
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
이 문제는 ^ 연산자뿐만 아니라!= 나 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 |