71. Hamming Distance

eunseo kim 👩‍💻·2021년 3월 4일
0
post-custom-banner

🎯 leetcode - 461. Hamming Distance


🤔 나의 풀이

📌 문제

- 파이썬 알고리즘 인터뷰 번 문제

📌 날짜

2020.03.05

📌 시도 횟수

2 try

💡 Code

class Solution:
    def hammingDistance(self, x: int, y: int) -> int:
        result = 0
        for i in bin(x ^ y):
            if i == "1":
                result += 1
        return result

💡 문제 해결 방법

- 이 문제도 XOR을 사용하면 쉽게 풀 수 있다.
- XOR은 '두 값의 각 자릿수를 비교해, 값이 같으면 0, 다르면 1을 계산'한다.
> 따라서 두 숫자를 XOR으로 처리한 결과를 문자열로 받고,
> 해당 문자열에서 값이 '1'(서로 비트가 다르면 1이므로)인 요소의 개수를 세면 된다.

💡 새롭게 알게 된 점

bin() : bin에 10진수 값을 할당하면 2진수로 변환된 값을 '문자열'로 반환한다.
>> bin(87)
>> "0b1010111"

int(요소, 진수) : 요소를 지정된 진수로 변환하여 '숫자형'으로 반환한다.
>> int("0b1010111", 2) 
>> 87
>> int("1010111", 2)	---> 맨 앞의 0b는 생략해도 된다.
>> 87

❌ (한번에 맞추지 못한 경우) 오답의 원인

-

profile
열심히💨 (알고리즘 블로그)
post-custom-banner

0개의 댓글