목록비트마스킹 (38)
넘치게 채우기
https://leetcode.com/problems/power-of-two/description/ LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com Leetcode - Power of Two 문제 유형 : 비트마스킹, 재귀 문제 난이도 : Easy 문제 Given an integer n, return true if it is a power of two. Oth..
#include int countOnesInDecimal(int n) { int count = 0; while (n) { std::cout
https://leetcode.com/problems/number-of-1-bits/description/?envType=daily-question&envId=2023-11-29 Number of 1 Bits - LeetCode Can you solve this real interview question? Number of 1 Bits - Write a function that takes the binary representation of an unsigned integer and returns the number of '1' bits it has (also known as the Hamming weight [http://en.wikipedia.org/wiki/Hamming_w leetcode.com l..
https://leetcode.com/problems/find-the-original-array-of-prefix-xor/description/ Find The Original Array of Prefix Xor - LeetCode Can you solve this real interview question? Find The Original Array of Prefix Xor - You are given an integer array pref of size n. Find and return the array arr of size n that satisfies: * pref[i] = arr[0] ^ arr[1] ^ ... ^ arr[i]. Note that ^ denotes the b leetcode.co..
https://leetcode.com/problems/sort-integers-by-the-number-of-1-bits/description/ Sort Integers by The Number of 1 Bits - LeetCode Can you solve this real interview question? Sort Integers by The Number of 1 Bits - You are given an integer array arr. Sort the integers in the array in ascending order by the number of 1's in their binary representation and in case of two or more integ leetcode.com ..
https://school.programmers.co.kr/learn/courses/30/lessons/77885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 유형 : 비트마스킹 문제 난이도 : Level 2 문제 설명 양의 정수 x에 대한 함수 f(x)를 다음과 같이 정의합니다. x보다 크고 x와 비트가 1~2개 다른 수들 중에서 제일 작은 수 예를 들어, f(2) = 3 입니다. 다음 표와 같이 2보다 큰 수들 중에서 비트가 다른 지점이 2개 이하이면서 제일 작은 수가 3이기 때문입니다. 수비트다른 비트의 개수 2 000...0010 3 000..
컴퓨터는 이진수를 사용한다. 비트 연산을 통해서 우리는 더 빠른 연산을 할 수 있다. 비트마스킹의 장점 1. 빠른 연산 - 비트마스킹 연산은 상수 시간에 연산된다. 2. 간결한 코드 - 비트마스킹을 통해 간결한 코드 표현이 가능하다. 3. 적은 메모리 사용 - 큰 크기의 숫자를 적은 메모리로 표현이 가능하다. 비트 연산들 and(&) 둘 다 참일 때에만 1 반환 ex) 1010 & 1111 = 1010 or(|) 둘 중 하나만 참일 때 1 반환 ex) 1000 | 1101 = 1101 xor(^) 둘이 서로 다를 때 1반환 ex) 1010 ^ 1111 = 0101 not(~) 반대 값을 반환 ex) ~1010 = 0101 시프트 연산() 비트 자릿수를 옮김. 001101
십진수를 이진수로 표기하고, 이진수 표기에서 1을 구하고 싶다면, 십진수 i를 2로 나눈 값 i/2의 1의 개수에, i가 홀수면 1을 더하고, 짝수인 경우 더하지 않으면 된다. #include // 십진수를 이진수로 변환하고 1의 개수를 구하는 함수 int countOnesInBinary(int n) { int count = 0; while (n > 0) { count += n % 2; // 현재 비트가 1이면 count에 1을 더함 n /= 2; // 십진수를 2로 나눔 } return count; } int main() { int i = 25; // 예시로 25를 사용 int binaryCount = countOnesInBinary(i); std::cout