๐ ๋ฌธ์
๋๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ์์ด ๋จ์ด๊ฐ ์ ๋ ฅ๋๋ฉด ๋จ์ด์ ํฌํจ๋ 'A'๋ฅผ ๋ชจ๋ '#'์ผ๋ก ๋ฐ๊พธ์ด ์ถ๋ ฅํ๋ ๋ฌธ์ ์ด๋ค.
๋๋ ๋ฌธ์์ด์ split() ๊ณผ map() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์๋ก์ด ๋ฐฐ์ด์ ์์ฑํด ๋ฐํํด์ฃผ๋ ๋ฐฉ์์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์๋ค.
๋ํ, for...of ๋ช ๋ น๋ฌธ๊ณผ replace() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ํด๊ฒฐํ๋ ๋ฑ ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์๋ค.
๐ ํ์ด
// split(), map() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ์ฝ๋
function solution(s) {
let answer = '';
answer = s
.split('')
.map((x) => {
if (x === 'A') {
return '#';
}
return x;
})
.join('');
return answer;
}
let str = 'BANANA';
console.log(solution(str));
// for...of ๋ช
๋ น๋ฌธ์ ์ฌ์ฉํ ์ฝ๋
function solution(s) {
let answer = '';
for (let x of s) {
if (x === 'A') {
answer += '#';
} else {
answer += x;
}
}
return answer;
}
let str = 'BANANA';
console.log(solution(str));
// replace() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ์ฝ๋
function solution(s) {
let answer = '';
answer = s;
answer = answer.replace(/A/g, '#');
return answer;
}
let str = 'BANANA';
console.log(solution(str));
๐ฅ ์ถ๊ฐ ํ์ด
// split(), join() ๋ง์ ์ฌ์ฉํ ์ฝ๋
function solution(s) {
let answer = '';
answer = s.split('A').join('#');
return answer;
}
let str = 'BANANA';
console.log(solution(str));
๐ก ์ ๊ทํํ์
๋ฌธ์์ด์์ ํน์ ๋ฌธ์ ์กฐํฉ์ ์ฐพ๊ธฐ ์ํ ํจํด์ด๋ค.
์ ๊ท ํํ์์ ์ ๊ท ํํ์ ๋ฆฌํฐ๋ด, RegExp ๊ฐ์ฒด์ ์์ฑ์ ํธ์ถ์ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ๋ง๋ค ์ ์๋ค.
์ด๋ฒ์๋ ์ ๊ท ํํ์ ๋ฆฌํฐ๋ด์ ๋ํ์ฌ ์์๋ณด์ โ
const re = /A/g
1๏ธโฃ ๋ค์๊ณผ ๊ฐ์ด ์ฌ๋์ฌ(/)๋ก ํจํด์ ๊ฐ์ธ์ ์์ฑํ๋ค.
- ์คํฌ๋ฆฝํธ๋ฅผ ๋ถ๋ฌ์ฌ ๋ ์ปดํ์ผ๋๋ฏ๋ก, ๋ฐ๋ ์ผ์ด ์๋ ํจํด์ ๊ฒฝ์ฐ ๋ฆฌํฐ๋ด์ ์ฌ์ฉํ๋ฉด ์ฑ๋ฅ์ด ํฅ์๋ ์ ์๋ค.
- ๋จ์ ํจํด์ ๋ฌธ์์ด์ ์๋ ๊ทธ๋๋ก ํ์ํ ๋ ์ฌ์ฉํ๋ค. ์๋ฅผ ๋ค์ด, /A/ ํจํด์ ๋ฌธ์์ด์์ ์ ํํ ์์๋ก 'A'๋ผ๋ ๋ฌธ์์ ์กฐํฉ์ด ๋ํ๋๋ ๋ถ๋ถ๊ณผ ์ผ์นํ๋ค.
2๏ธโฃ ์ ๊ท ํํ์ ๋ค์ 'g'๋ ์ ์ฒด ๋ฌธ์์ด์ ํ์ํด์ ๋ชจ๋ ์ผ์น๋ฅผ ๋ฐํํ๋๋ก ์ง์ ํ๋ ์ ์ญ ํ์ ํ๋๊ทธ์ด๋ค.
'Algorithm > ์ธํ๋ฐ(inflearn)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript/section 1] 11 - ๋๋ฌธ์ ์ฐพ๊ธฐ (0) | 2022.09.02 |
---|---|
[JavaScript/section 1] 10 - ๋ฌธ์ ์ฐพ๊ธฐ (0) | 2022.09.02 |
[JavaScript/section 1] 08 - ์ผ๊ณฑ ๋์์ด (0) | 2022.09.01 |
[JavaScript/section 1] 07 - 10๋ถ์ (0) | 2022.08.31 |
[JavaScript/section 1] 06 - ํ์ (0) | 2022.08.31 |