[AtCoder Beginner Contest 213] Task A - XOR 연산

Soojin Chung·2021년 8월 9일
0

AtCoder

목록 보기
2/3
post-thumbnail

문제

AtCoder Beginner Contest 213 - task A 문제

나의 풀이

일단 너무 오랜만에 보는 XOR 연산이라 이해부터 하고 시작했다..(ㅋㅋ)

나의 접근방식은 (알고리즘초보 주의)
a, b를 일단 이진수로 변환하고 이진수 자릿수를 하나씩 비교하며 같으면 0을, 다르면 1을 list c에 append해줌으로써 c를 만들고 십진수로 변환하여 결과 출력.

a, b = map(int, input().split())
 
a2= list(bin(a)[2:])
b2 = list(bin(b)[2:])
c = list()

if len(a2) < len(b2):
    count = len(b2) - len(a2)
    while count > 0:
        a2.insert(0, '0')
        count-=1
else:
    count = len(a2) - len(b2)
    while count > 0:
        b2.insert(0, '0')
        count-=1
 
for i in a2:
    for j in b2:
        if i == j:
            c.append('0')
            b2.pop(0)
            break
        else:
            c.append('1')
            b2.pop(0)
            break
ans = '0b' + ''.join(c)
print(int(ans,2))

결과

profile
Cloud Engineer in Tokyo, Japan

0개의 댓글