1. ๋ฌธ์
๋๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ์์ด๋จ์ด๊ฐ ์ ๋ ฅ๋๋ฉด ๋จ์ด์ ํฌํจ๋ โA'๋ฅผ ๋ชจ๋ โ#โ์ผ๋ก ๋ฐ๊พธ์ด ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.
์ ๋ ฅ ์์ | BANANA
์ถ๋ ฅ ์์ | B#N#N#
๊ฐ๋จํ ๋ฌธ์์ด ํ์ ๋ฌธ์
2. ๋ฌธ์ ํ์ด (1)
1. answer๋ ๋ฌธ์์ด๋ก ์ถ๋ ฅ๋๋ค.
2. for๋ฌธ์ผ๋ก ๋ฌธ์์ด ํ์ ๊ฐ๋ฅํ๋ค -> for of๋ฌธ ์ฌ์ฉ -> if๋ฌธ์ผ๋ก ๋ณ์ x๊ฐ ๋๋ฌธ์ A์ธ์ง ํ๋์ฉ ํ์ธํ๋ค.
function solution(word) {
let answer = ""; // answer๋ก ์ถ๋ ฅ๋ ๊ฐ์ ๋ฌธ์์ด์ด๋๊น
for(let x of word){
if(x === 'A') answer += '#';
else answer += x;
}
return answer;
}
console.log(solution("BANANA"));
๋ณ์๋ก ์์ฑํ answer๋ ๋น ๋ฌธ์์ด์ด๋ค.
for ๋ฐ๋ณต๋ฌธ ์์ ์กฐ๊ฑด๋ฌธ์ ์ฌ์ฉํด์ค๋ค.
์ธ์๋ก ๋ฐ์ ๋ฌธ์์ด์ ๋ฌธ์ ํ๋ํ๋์ฉ ์กฐ๊ฑด๋ฌธ์ผ๋ก ํ์ธํ๋ฉด์ (for ๋ฌธ์ of ๋ฌธ์์ด) ๋ฌธ์์ด์ ์ฑ์๊ฐ๋ ๋ฐฉ์
x === 'A'๊ฐ true์ด๋ฉด answer = answer + '#' ์ถ๋ ฅ / ๋์ / x === 'A'๊ฐ false์ด๋ฉด answer = answer + x
*ํฐ๋ฐ์ดํ๋ ๋ฌธ์์ด์ผ๊ฒฐ์ฐ, ์์ ๋ฐ์ดํ๋ ๋ฌธ์ ํ๋ ์ฐ์ผ ๋ ์ฌ์ฉ
2. ๋ฌธ์ ํ์ด (2)
String.replace ๋ฉ์๋ / ์ ๊ทํํ์ ์ฌ์ฉ
A๋ผ๋ ๋๋ฌธ์๋ฅผ ์ฐพ์๋ผ / ๋ฐ๊พธ๋ ๋ฌธ์๋ #์ผ๋ก ๋ฐ๊ฟ๋ผ -> (/A/, '#')
๋ฌธ์์ด์ ์์ ๋ณต์ฌ ๋์ง์๋๋ค. ๋ฐฐ์ด์ ์ฃผ์ ์ฐธ์กฐ๋๋๋ฐ ๋ฌธ์์ด์ ๊ฐ์ด ๋ณต์ฌ๋๋๊ฒ ์๋๋ผ ๊ฐ์ด ๋ฐ๋๋ ๊ฒ์ด๋ค.
function solution(word){
let answer = word; //์์ ๋ณต์ฌ but,๋ฌธ์์ด์ ์ฃผ์ ์ฐธ์กฐ๋๋๊ฒ ์๋๋ผ ๊ฐ์ด ๋ณต์ฌ๋์ด ๋ฐ๋์ด๋ฒ๋ฆฐ๋ค.
answer = answer.replace(/A/g, '#');
// ์ ๊ทํํ์ ์ฌ์ฉ word๋ผ๋ string์์ A๋ฅผ ์ฐพ์์ string #๋ก ๋ฐ๊ฟ๋ผ
// ๊ทธ๋ฅ ๋๋ฌธ์ A๋ง ์ ์ผ๋ฉด ํ๋ฒ๋ง ์ฐพ๋๋ค. ์ ์ญ์์ ๋ชจ๋ ์ฐพ์์ผํ๋๊น global ์๋ฏธ์ g๋ฅผ ํจ๊ป ์จ์ค๋ค.
return answer;
}
console.log(solution("BANANA"));
'๐กAlgorithm > ๋ฌธ์ ํ๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
JS์๊ณ ๋ฆฌ์ฆ | ๋๋ฌธ์ ์ฐพ๊ธฐ (0) | 2021.04.18 |
---|---|
JS์๊ณ ๋ฆฌ์ฆ | ๋ฌธ์ ์ฐพ๊ธฐ (0) | 2021.04.17 |
JS์๊ณ ๋ฆฌ์ฆ | ์ผ๊ณฑ๋์์ด (0) | 2021.04.16 |
JS์๊ณ ๋ฆฌ์ฆ | 10๋ถ์ (0) | 2021.04.14 |
JS์๊ณ ๋ฆฌ์ฆ | ํ์ (0) | 2021.04.13 |