Skip to content

Commit 763bf36

Browse files
committed
add solution : 125. Valid Palindrome
1 parent 658b778 commit 763bf36

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

โ€Žvalid-palindrome/mmyeon.jsโ€Ž

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
/**
2+
*
3+
* ์ ‘๊ทผ ๋ฐฉ๋ฒ• :
4+
* - ๋ฌธ์ž์—ด ์ˆœํšŒํ•˜๋ฉด์„œ ์†Œ๋ฌธ์ž๋กœ ๋ณ€๊ฒฝํ•œ ๋’ค, ์ •๊ทœ์‹์„ ์ด์šฉํ•ด ์•ŒํŒŒ๋ฒณ๊ณผ ์ˆซ์ž๋งŒ ์ถ”์ถœ
5+
* - ์ถ”์ถœ๋œ ๋ฌธ์ž์— ํˆฌ ํฌ์ธํ„ฐ ์‚ฌ์šฉํ•ด์„œ ์•ž๋’ค ๋ฌธ์ž ๊ฐ™์€์ง€ ๋น„๊ต.
6+
* - ๋‹ค๋ฅด๋ฉด false ๋ฐ”๋กœ ๋ฆฌํ„ดํ•˜๊ณ , ๋๊นŒ์ง€ ๊ฐ™์œผ๋ฉด true ๋ฐ˜ํ™˜
7+
*
8+
* ์‹œ๊ฐ„๋ณต์žก๋„ :
9+
* - ๋ฌธ์ž์—ด ๊ธธ์ด๊ฐ€ n์ผ ๋•Œ, O(n)
10+
* - match๋กœ ๋ฌธ์ž์—ด ์ฒดํฌ : O(n)
11+
* - ํˆฌ ํฌ์ธํ„ฐ๋กœ ์•ž๋’ค ๋ฌธ์ž ๋น„๊ต : O(n)
12+
*
13+
* ๊ณต๊ฐ„๋ณต์žก๋„ :
14+
* - ์ตœ์•…์˜ ๊ฒฝ์šฐ ๋ชจ๋“  ๋ฌธ์ž๊ฐ€ ์•ŒํŒŒ๋ฒณ์ด๊ฑฐ๋‚˜ ์ˆซ์ž์ธ ๊ฒฝ์šฐ ๊ธธ์ด๊ฐ€ n์ด ๋จ : O(n)
15+
*
16+
* ๋ฐฐ์šด ์  :
17+
* - ๋ฌธ์ž๊ฐ’ ํ•„์š”ํ•œ ๊ฒŒ ์•„๋‹ˆ๋‹ˆ๊นŒ ๋ถˆํ•„์š”ํ•œ ๋ฐฐ์—ด ๋ณ€ํ™˜(reverse) ์ค„์ด๊ธฐ
18+
* - ๋ฌธ์ž์—ด์ด ์กฐ๊ฑด ๋ฒ”์œ„์— ๋ถ€ํ•ฉํ•˜๋Š”์ง€ ์ฒดํฌํ•  ๋•Œ๋Š” ์ •๊ทœ์‹ ํ™œ์šฉํ•˜๊ธฐ
19+
*/
20+
21+
/**
22+
* @param {string} s
23+
* @return {boolean}
24+
*/
25+
26+
var isPalindrome = function (s) {
27+
const alphanumericCharacters = s.toLowerCase().match(/[a-z0-9]/g) || [];
28+
29+
let leftPointer = 0;
30+
let rightPointer = alphanumericCharacters.length - 1;
31+
32+
while (leftPointer < rightPointer) {
33+
if (
34+
alphanumericCharacters[leftPointer] !==
35+
alphanumericCharacters[rightPointer]
36+
) {
37+
return false;
38+
}
39+
40+
leftPointer++;
41+
rightPointer--;
42+
}
43+
44+
return true;
45+
};

0 commit comments

Comments
ย (0)