반응형
[ Contents ]
1. 문제 (링크 참조)
2. 문제 풀이
A와 B의 사격점수가 주어집니다. 과녁은 1 / 2 / 4 / 8 / 16 / 32 / 64 / 128 / 256 / 512 배점이며, 각 과녁마다 1번씩만 쏴서 맞추면 해당 점수를 획득합니다.
C는 A와 B 중 한 명만 맞힌 과녁은 맞췄으나, 둘 다 맞히거나 못 맞힌 과녁은 안 맞혔다고 합니다. C의 과녁점수를 구해야 합니다.
True | True | False |
True | False | True |
False | True | True |
False | False | False |
과녁의 배점은 2의 배수입니다. 그리고 얻었거나 얻지 못했을 경우만 존재합니다.
따라서 배점은 이진수로 표현할 수 있습니다. 그리고 C는 A와 B를 XOR연산한 결과가 됩니다.
3. 코드
import sys
input = sys.stdin.readline
# 입력
a, b = map(int, input().split())
# 이진수로 변환
bin_a = bin(a)
bin_b = bin(b)
# c
res = int(bin(a^b)[2:], 2)
print(res)
십진수를 이진수로 변환해주는 bin함수를 사용합니다.
그리고 XOR연산자는 ^입니다.
2022.04.20 - [Algorithm] - [구현/수학] 백준 10829 이진수 변환 - 파이썬(Python)
반응형
'Algorithm' 카테고리의 다른 글
[구현/수학] 백준 6840 Who is in the middle? - 파이썬(Python) (0) | 2023.06.01 |
---|---|
[구현/수학] 백준 27961 고양이는 많을수록 좋다 - 파이썬(Python) (0) | 2023.05.07 |
[구현/수학] 백준 27868 On My Way Dorm - 파이썬(Python) (0) | 2023.05.05 |
[구현/수학] 백준 27724 팝핀 소다 - 파이썬(Python) (0) | 2023.05.04 |
[구현/수학] 백준 27648 증가 배열 만들기 - 파이썬(Python) (0) | 2023.05.03 |
댓글