비트연산2 비트 연산자 사용하기 - 2편 (NOT 연산의 과정, 5의 NOT이 -6인 이유) https://fall-in-dream.tistory.com/86 비트 연산자 사용하기 - 1편 비트 연산자를 사용하여 정수형 데이터의 비트 단위 조작을 할 수가 있습니다. 주요 비트 연산자는 종류 설명 AND(&) 두 비트가 모두 1일 때만 결과가 1이 됩니다. OR(|) 두 비트 중 하나라도 1이면 fall-in-dream.tistory.com 위의 글을 보신 분들 중 의아한?궁금한? 부분이 있으신 분들이 있을거라고 생각합니다. 그것은 바로 1. NOT 연산의 결과 2. >>연산과 >>>의 차이 라고 생각합니다. 이번에는 우선 NOT 연산의 결과를 다시 한 번 살펴 봅시다. int a = 5(0101) 를 Not 연산 결과로 -6(1010)이 나왔습니다. '0101'을 NOT(~) 연산했으니 0과 1.. 2024. 1. 22. 월간 코드 챌린지 시즌2 > 2개 이하로 다른 비트 https://school.programmers.co.kr/learn/courses/30/lessons/77885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 처음에는 주어진 숫자(numbers[i])에 +1(이하 B)을 하고 XOR 연산을 한 후 Long.bitCount 를 통해 1의 갯수의 차이를 구한다. 이 차이가 2이하일 경우 answer[i]에 값을 저장한다. 아닐 시 B에 +1을 한다. 위를 반복했다. 결과적으로 시간 초과가 발생했다. 아무래도 숫자가 커질 수록 (주어진 범위가 10의 15승이다) 비트 1개의 차이를 찾는게.. 2024. 1. 21. 이전 1 다음