Skip to content

Commit 0778811

Browse files
authored
Merge pull request #417 from GUMUNYEONG/main
[GUMUNYEONG] Week4 Solutions
2 parents 9ae8457 + 6231903 commit 0778811

File tree

2 files changed

+53
-0
lines changed

2 files changed

+53
-0
lines changed

โ€Žmissing-number/GUMUNYEONG.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/**
2+
* @param {number[]} nums
3+
* @return {number}
4+
*/
5+
var missingNumber = function (nums) {
6+
nums = nums.sort();
7+
8+
for (let i = 0; i < nums.length; i++) {
9+
if (nums[i] !== i) return i;
10+
}
11+
12+
return nums.length;
13+
};
14+
15+
// TC
16+
// nums ์ •๋ ฌ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ˆœํšŒ (๊ธธ์ด n) -> ์ตœ์„ ์˜ ๊ฒฝ์šฐ O(n) ์ด์ง€๋งŒ, ํ‰๊ท ์ ์œผ๋กœ O(n log n)
17+
// ๋น ์ง„ ์ˆซ์ž๋ฅผ ์ฐพ๊ธฐ์œ„ํ•ด์„œ ์ˆœํšŒ (์ตœ๋Œ€๊ธธ์ด n)
18+
// ๋”ฐ๋ผ์„œ ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” ์ตœ๋Œ€ O(n log n)
19+
20+
// SC
21+
// ๊ธธ์ด๊ฐ€ n์ธ ๋ฐฐ์—ด์„ ์ €์žฅํ•  ๊ณต๊ฐ„ ํ•„์š”
22+
// O(n)

โ€Žvalid-palindrome/GUMUNYEONG.js

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/**
2+
* @param {string} s
3+
* @return {boolean}
4+
*/
5+
var isPalindrome = function (s) {
6+
7+
let str = normalize(s);
8+
let reverseStr = "";
9+
10+
function normalize(str) {
11+
str = str.toLowerCase().replace(/[^a-z0-9]/g, "");
12+
13+
return str;
14+
}
15+
16+
17+
for (let i = str.length - 1; i >= 0; i--) {
18+
reverseStr += str[i];
19+
};
20+
21+
22+
return str === reverseStr;
23+
};
24+
25+
// TC : O(n)
26+
// normalize ํ•จ์ˆ˜์—์„œ n๋ฒˆ(s์˜๊ธธ์ด) ์ˆœํšŒ(toLowerCase) + n๋ฒˆ ์ˆœํšŒ(replace)
27+
// reverseStr ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ for๋ฌธ - ๊ธธ์ด n
28+
// = O(3n) ๋”ฐ๋ผ์„œ O(n)
29+
30+
// SC : O(n)
31+
// ๋ณ€์ˆ˜ str , reversStr ๋ชจ๋‘ ๊ธธ์ด๊ฐ€ n ์ด๋ฏ€๋กœ O(n)

0 commit comments

Comments
ย (0)