Skip to content

Commit 8f6c1f8

Browse files
authored
Merge pull request #1266 from RiaOh/main
[RiaOh] WEEK 02 solutions
2 parents 57d55d4 + 5c7a0bd commit 8f6c1f8

File tree

5 files changed

+97
-0
lines changed

5 files changed

+97
-0
lines changed

climbing-stairs/RiaOh.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/**
2+
* @param {number} n
3+
* @return {number}
4+
*/
5+
var climbStairs = function (n) {
6+
const arr = [1, 2];
7+
for (let i = 2; i <= n - 1; i++) {
8+
arr[i] = arr[i - 2] + arr[i - 1];
9+
}
10+
return arr[n - 1];
11+
};

number-of-1-bits/RiaOh.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
/**
2+
* @param {number} n
3+
* @return {number}
4+
*/
5+
var hammingWeight = function (n) {
6+
const binary = n.toString(2);
7+
const arr = [...binary];
8+
let count = 0;
9+
arr.map((num) => {
10+
if (num === "1") {
11+
count++;
12+
}
13+
});
14+
return count;
15+
};

product-of-array-except-self/RiaOh.js

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/**
2+
* @param {number[]} nums
3+
* @return {number[]}
4+
*/
5+
var productExceptSelf = function (nums) {
6+
// [-1,1,0,-3,3]
7+
if (!nums.includes(0)) {
8+
const allNumsProduct = nums.reduce((acc, cur) => acc * cur);
9+
return nums.map((num) => allNumsProduct / num);
10+
} else {
11+
let arr = [];
12+
for (let i = 0; i < nums.length; i++) {
13+
if (nums[i] !== 0) {
14+
arr[i] = 0;
15+
} else {
16+
console.log("여기는?");
17+
const newArr = [...nums];
18+
newArr.splice(i, 1);
19+
console.log("newArr ==>", newArr);
20+
if (newArr.includes(0)) {
21+
arr[i] = 0;
22+
} else {
23+
const product = newArr.reduce((arr, cur) => arr * cur);
24+
console.log("product ==>", product);
25+
arr[i] = product;
26+
}
27+
}
28+
}
29+
return arr;
30+
}
31+
};

valid-anagram/RiaOh.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
/**
2+
* @param {string} s
3+
* @param {string} t
4+
* @return {boolean}
5+
*/
6+
var isAnagram = function (s, t) {
7+
let resultS = [...s].sort();
8+
let resultT = [...t].sort();
9+
return resultS.join() === resultT.join();
10+
};

valid-palindrome/RiaOh.js

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/**
2+
* @param {string} s
3+
* @return {boolean}
4+
*/
5+
var isPalindrome = function (s) {
6+
const arr = [...s];
7+
let text = "";
8+
for (let i = 0; i < arr.length; i++) {
9+
if (isAlphabet(arr[i]) === true && arr[i] !== " ") {
10+
text = text + arr[i].toLowerCase();
11+
} else if (isNumeric(arr[i]) === true && arr[i] !== " ") {
12+
text = text + arr[i];
13+
}
14+
}
15+
console.log("text -->", text);
16+
for (let i = 0; i < text.length / 2; i++) {
17+
if (text[i] !== text[text.length - 1 - i]) {
18+
return false;
19+
}
20+
}
21+
return true;
22+
};
23+
24+
function isAlphabet(char) {
25+
return /[a-zA-Z]/.test(char);
26+
}
27+
28+
function isNumeric(str) {
29+
return !isNaN(str);
30+
}

0 commit comments

Comments
 (0)