ํ๋ก๊ทธ๋๋จธ์ค ์๊ณ ๋ฆฌ์ฆ ํ์ด
์ฌ์ฉ ์ธ์ด - ์๋ฐ์คํฌ๋ฆฝํธ JavaScript JS
1. ํน์ ๋ฌธ์์ด๋ก ๋๋๋ ๊ฐ์ฅ ๊ธด ๋ถ๋ถ ๋ฌธ์์ด ์ฐพ๊ธฐ
1) โ ๋ฌธ์ ์ค๋ช
๋ฌธ์์ด myString๊ณผ pat๊ฐ ์ฃผ์ด์ง๋๋ค. myString์ ๋ถ๋ถ ๋ฌธ์์ด์ค pat๋ก ๋๋๋ ๊ฐ์ฅ ๊ธด ๋ถ๋ถ ๋ฌธ์์ด์ ์ฐพ์์ return ํ๋ solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
2) ๐ซ ์ ํ ์ฌํญ
- 5 ≤ myString ≤ 20
- 1 ≤ pat ≤ 5
- pat์ ๋ฐ๋์ myString์ ๋ถ๋ถ ๋ฌธ์์ด๋ก ์ฃผ์ด์ง๋๋ค.
- myString๊ณผ pat์ ๋ฑ์ฅํ๋ ์ํ๋ฒณ์ ๋๋ฌธ์์ ์๋ฌธ์๋ฅผ ๊ตฌ๋ถํฉ๋๋ค.
3) โ ์ ์ถ๋ ฅ ์
myString | pat | result |
"AbCdEFG" | "dE" | "AbCdE" |
"AAAAaaaa" | "a" | "AAAAaaaa" |
2. ์ฌ์ฉํ ๋ฉ์๋: slice(), lastIndexOf()
String.prototype.slice()
slice() ๋ฉ์๋๋ ๋ฌธ์์ด์ ์ผ๋ถ๋ฅผ ์ถ์ถํ๋ฉด์ ์๋ก์ด ๋ฌธ์์ด์ ๋ฐํํ๋ค.
const str = 'The quick brown fox jumps over the lazy dog.';
console.log(str.slice(31));
// Expected output: "the lazy dog."
console.log(str.slice(4, 19));
// Expected output: "quick brown fox"
console.log(str.slice(-4));
// Expected output: "dog."
console.log(str.slice(-9, -5));
// Expected output: "lazy"
String.prototype.lastIndexOf()
lastIndexOf() ๋ฉ์๋๋ ์ฃผ์ด์ง ๊ฐ๊ณผ ์ผ์นํ๋ ๋ถ๋ถ์ fromIndex๋ก๋ถํฐ ์ญ์์ผ๋ก ํ์ํ์ฌ, ์ต์ด๋ก ๋ง์ฃผ์น๋ ์ธ๋ฑ์ค๋ฅผ ๋ฐํํฉ๋๋ค. ์ผ์นํ๋ ๋ถ๋ถ์ ์ฐพ์ ์ ์์ผ๋ฉด -1์ ๋ฐํํ๋ค.
const paragraph = 'The quick brown fox jumps over the lazy dog. If the dog barked, was it really lazy?';
const searchTerm = 'dog';
console.log(`The index of the first "${searchTerm}" from the end is ${paragraph.lastIndexOf(searchTerm)}`);
// Expected output: "The index of the first "dog" from the end is 52"
3. ๋ต์
1) ๋์ ํ์ด
const solution = (myString, pat) => myString.slice(0, myString.lastIndexOf(pat)+pat.length)
2) ๋ค๋ฅธ ์ฌ๋์ ํ์ด - subString() ์ฌ์ฉ
// substring() ์ฌ์ฉ
const solution = (str, pat) => str.substring(0, str.lastIndexOf(pat)) + pat
- substring() ๋ฉ์๋๋ string ๊ฐ์ฒด์ ์์ ์ธ๋ฑ์ค๋ก ๋ถํฐ ์ข ๋ฃ ์ธ๋ฑ์ค ์ ๊น์ง ๋ฌธ์์ด์ ๋ถ๋ถ ๋ฌธ์์ด์ ๋ฐํํ๋ค.
const str = 'Mozilla';
console.log(str.substring(1, 3));
// Expected output: "oz"
console.log(str.substring(2));
// Expected output: "zilla"
'๐ป Programming > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค Lv. 0] ๊ตฌ์ฌ์ ๋๋๋ ๊ฒฝ์ฐ์ ์ (0) | 2023.08.19 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค Lv. 1] ๋ถ์กฑํ ๊ธ์ก ๊ณ์ฐํ๊ธฐ (0) | 2023.08.16 |
[ํ๋ก๊ทธ๋๋จธ์ค Lv. 0] ํน์๋ฌธ์ ์ถ๋ ฅํ๊ธฐ (0) | 2023.08.13 |
[ํ๋ก๊ทธ๋๋จธ์ค Lv. 0] ๋ฆฌ์คํธ ์๋ฅด๊ธฐ (0) | 2023.08.08 |
[ํ๋ก๊ทธ๋๋จธ์ค Lv. 0] ์ง์๋ ์ซ์ด์ (0) | 2023.08.03 |