Skip to content
Open
Show file tree
Hide file tree
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
21 changes: 21 additions & 0 deletions number-of-1-bits/nowrobin.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
/**
* @param {number} n - 32비트 정수
* @return {number} - 이진수에서 1의 개수
*/
var hammingWeight = function(n) {
let setBitCount = 0; // 1의 개수를 저장할 변수

// n이 0이 될 때까지 반복 (모든 1비트를 제거할 때까지)
while (n !== 0) {
// 가장 오른쪽에 있는 1비트를 제거
// 예: 101100 -> 101000
n &= (n - 1);

// 1비트 하나 제거했으므로 카운트 증가
setBitCount++;
}

// 총 1의 개수 반환
return setBitCount;
};

23 changes: 23 additions & 0 deletions valid-palindrome/nowrobin.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/**
* @param {string} s
* @return {boolean}
*/
var isPalindrome = function(s) {
// 1. 소문자로 변환 + 알파벳/숫자만 남기기
// (공백, 특수문자 제거)
s = s.toLowerCase().replace(/[^a-z0-9]/g, "");

const length = s.length;

// 2. 문자열의 절반만 순회하면서 양쪽 비교
for (let i = 0; i < length / 2; i++) {
// 왼쪽(i) vs 오른쪽(length - 1 - i)
if (s[i] !== s[length - 1 - i]) {
// 하나라도 다르면 팰린드롬 아님
return false;
}
}

// 3. 끝까지 문제 없으면 팰린드롬
return true;
};
Loading