From e60d86d4e35932381730dccc6e101284205240f0 Mon Sep 17 00:00:00 2001 From: krokerdile Date: Tue, 20 May 2025 01:11:08 +0900 Subject: [PATCH 1/2] reverse-bits solution --- reverse-bits/krokerdile.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 reverse-bits/krokerdile.js diff --git a/reverse-bits/krokerdile.js b/reverse-bits/krokerdile.js new file mode 100644 index 000000000..5c13d3dff --- /dev/null +++ b/reverse-bits/krokerdile.js @@ -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; +}; \ No newline at end of file From 0e9b33d0d66297df17c6c2e4c9521f23e3952375 Mon Sep 17 00:00:00 2001 From: krokerdile Date: Tue, 20 May 2025 01:13:02 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=EA=B0=9C=ED=96=89=20=EB=AC=B8=EC=9E=90=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- reverse-bits/krokerdile.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reverse-bits/krokerdile.js b/reverse-bits/krokerdile.js index 5c13d3dff..753adc013 100644 --- a/reverse-bits/krokerdile.js +++ b/reverse-bits/krokerdile.js @@ -12,4 +12,4 @@ var reverseBits2 = function(n) { n >>>= 1; } return result >>> 0; -}; \ No newline at end of file +};