Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions reverse-bits/krokerdile.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
var reverseBits = function(n) {
let binary = n.toString(2).padStart(32, '0'); // 32비트 보장
let reversed = binary.split('').reverse().join('');
return parseInt(reversed, 2); // 이진수로 파싱!
//padStart(), reverse(), split(), join() 모두 O(N)이 들어가는 작업이기 때문에 아래 코드에 비해서 느릴 수 밖에 없음
};
var reverseBits2 = function(n) {
let result = 0;
for (let i = 0; i < 32; i++) {
result <<= 1;
result |= n & 1;
n >>>= 1;
}
return result >>> 0;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unsigned int 로 처리하기 위해 >>> (unsigned right shift) 처리를 해주는 군요!
javascript 에서 shift 연산 처리를 어떻게 하는지 볼 수 있어서 많은 도움이 되었습니다. 👍

};