[프로그래머스] 2개 이하로 다른 비트
▼ 문제 링크 코딩테스트 연습 - 2개 이하로 다른 비트 programmers.co.kr 이 문제는 많은 시행 착오 끝에 내가 생각한 일반적인 방법(비트가 1개 혹은 2개가 다른 모든 경우의 수를 비교하는 방법)으로는 효율성 테스트를 통과할 수 없다는 것을 깨닫고 결국 집단 지성의 힘을 빌린 문제였다. 내가 처음 생각했던 방법으로는 정확성은 통과한 거 같은데 효율성에서 막히더라 🥲 아무튼 찾아본 바로는 풀이 방법이 다음과 같다. 주어진 숫자가 짝수일 때 짝수를 비트로 바꾸면 1 0 0 0 (= 8)처럼 맨 마지막 비트가 0이 된다. 이때, 비트가 1개 또는 2개가 다르면서 가장 작은 수 = 자연스럽게 마지막 비트 0을 1로 바꾼 수가 된다. 즉, 주어진 수에서 1만 더해주면 된다. 주어진 숫자가 홀수일 ..