Skip to content

Commit ef98955

Browse files
authored
Merge pull request #1747 from KyoJin-Hwang/main
[Kyojin-Hwang] WEEK 02 solutions
2 parents a103397 + 321cd6d commit ef98955

File tree

3 files changed

+63
-0
lines changed

3 files changed

+63
-0
lines changed

climbing-stairs/Kyojin-Hwang.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/**
2+
* @param {number} n
3+
* @return {number}
4+
*/
5+
var climbStairs = function(n) {
6+
if (n <= 2) return n;
7+
8+
let prev1 = 1;
9+
let prev2 = 2;
10+
11+
for (let i = 3; i <= n; i++) {
12+
const curr = prev1 + prev2;
13+
prev1 = prev2;
14+
prev2 = curr;
15+
}
16+
17+
return prev2;
18+
};
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
/**
2+
* @param {number[]} nums
3+
* @return {number[]}
4+
*/
5+
var productExceptSelf = function (nums) {
6+
const n = nums.length;
7+
const answer = new Array(n).fill(1);
8+
9+
// 왼쪽 곱 계산
10+
let prefix = 1;
11+
for (let i = 0; i < n; i++) {
12+
answer[i] = prefix;
13+
prefix *= nums[i];
14+
}
15+
16+
// 오른쪽 곱 계산
17+
let suffix = 1;
18+
for (let i = n - 1; i >= 0; i--) {
19+
answer[i] *= suffix;
20+
suffix *= nums[i];
21+
}
22+
23+
return answer;
24+
};

valid-anagram/Kyojin-Hwang.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/**
2+
* @param {string} s
3+
* @param {string} t
4+
* @return {boolean}
5+
*/
6+
var isAnagram = function(s, t) {
7+
if (s.length !== t.length) return false;
8+
9+
const count = {};
10+
11+
for (let char of s) {
12+
count[char] = (count[char] || 0) + 1;
13+
}
14+
15+
for (let char of t) {
16+
if (!count[char]) return false; // 없거나 개수가 0
17+
count[char]--;
18+
}
19+
20+
return true;
21+
};

0 commit comments

Comments
 (0)