Leetcode Java Number of 1 Bits
업데이트:
문제
코드
public class Solution {
// you need to treat n as an unsigned value
public int hammingWeight(int n) {
int result = 0;
while (n != 0) {
result += n & 1;
n >>>= 1;
}
return result;
}
}
결과
설명
-
32bit code인 n에 포함된 1의 개수를 구하는 문제이다.
-
32bit code인 n에 포함된 1의 개수를 저장하기 위한 변수 result를 정의하고 0으로 초기화한다.
- n이 0이 되기 전까지 반복하여 1의 개수를 구한다.
- result에 n과 1의 Bit 논리곱(AND)인 ‘&’의 결과를 더해준다.
- n의 bit code 첫 값들을 우측으로 1칸씩 밀어주고, 맨 처음 값에 0을 채워준다.
- 반복이 완료되면 32bit code인 n에 포함된 1의 개수를 저장한 result를 주어진 문제의 결과로 반환한다.
소스
Sample Code는 여기에서 확인 가능합니다.
댓글남기기