๐ ๋ฌธ์
๋ฌธ์์ด์ ์ ๋ ฅ๋ฐ์ ํด๋น ๋ฌธ์์ด์ ๋ฑ์ฅํ๋ ๋ ์นธ์ ๊ณต๋ฐฑ์ ๋ชจ๋ ํ ์นธ์ ๊ณต๋ฐฑ์ผ๋ก ๋ฐ๊พผ ๋ฌธ์์ด์ ๋ฆฌํดํด์ผ ํฉ๋๋ค.
โ ๏ธ ์ฃผ์์ฌํญ
- ๋ ์นธ์ ์ด๊ณผํ๋ ๊ณต๋ฐฑ์ ์กด์ฌํ์ง ์๋๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
โ๐ป ๋ด ํ์ด : ์ง์ ๊ณต๋ฐฑ ์ฌ๋ถ ํ๋จํ๋ ๋ณ์ ์ ์ธ
function convertDoubleSpaceToSingle(str) {
// ๋น ๋ฌธ์์ด์ ์
๋ ฅ๋ฐ์ ๊ฒฝ์ฐ, ๋น ๋ฌธ์์ด ๋ฆฌํดํ๋ ๊ฒฐ๊ณผ๊ฐ ์ ์ธ
let result = '';
// ๊ฐ ๋ฌธ์ ์ง์ ๊ณต๋ฐฑ ์ฌ๋ถ ํ๋จํ๋ ๋ณ์ ์ ์ธ
let beforeSpace = '';
// for loop๋ก ํด๋น ๋ฌธ์์ด ๊ธธ์ด๋งํผ ์ํํด์
for (let i = 0; i < str.length; i++) {
// ์ง์ ๋ฌธ์๊ฐ ๊ณต๋ฐฑ์ด๊ณ , ํ์ฌ ๋ฌธ์๋ ๊ณต๋ฐฑ์ธ ๊ฒฝ์ฐ (์ฆ, ํ์ฌ ๋ฌธ์๊ฐ ๋ ๋ฒ์งธ ๊ณต๋ฐฑ์ธ ๊ฒฝ์ฐ)๋ง ๋ฌด์ํ๊ณ
if (beforeSpace !== ' ' || str[i] !== ' ') {
// result์ ๋ฌธ์์ด์ ์ถ๊ฐํ๋ค.
result = result + str[i];
}
beforeSpace = str[i];
}
// ์ต์ข
๊ฒฐ๊ณผ ๊ฐ์ ๋ฆฌํดํ๋ค.
return result;
}
โ๐ป ๋ ๋ค๋ฅธ ํ์ด: if๋ฌธ์์ i๋ฒ์งธ, i+1๋ฒ์งธ ๊ณต๋ฐฑ ํ๋จ
function convertDoubleSpaceToSingle(str) {
// ๋น ๋ฌธ์์ด์ ์
๋ ฅ๋ฐ์ ๊ฒฝ์ฐ, ๋น ๋ฌธ์์ด ๋ฆฌํดํ๋ ๊ฒฐ๊ณผ๊ฐ ์ ์ธ
let result = '';
// for loop๋ก ํด๋น ๋ฌธ์์ด ๊ธธ์ด๋งํผ ์ํํด์
for (let i = 0; i < str.length; i++) {
// ํ์ฌ ๋ฌธ์์ ๋ค์ ๋ฌธ์ ๋ชจ๋ ๊ณต๋ฐฑ์ธ ๊ฒฝ์ฐ (์ฆ, ํ์ฌ ๋ฌธ์๊ฐ ๋ ๋ฒ์งธ ๊ณต๋ฐฑ์ธ ๊ฒฝ์ฐ)๋ง ๋ฌด์ํ๊ณ
if (str[i] !== ' ' || str[i+1] !== ' ') {
// result์ ๋ฌธ์์ด์ ์ถ๊ฐํ๋ค.
result = result + str[i];
}
}
// ์ต์ข
๊ฒฐ๊ณผ ๊ฐ์ ๋ฆฌํดํ๋ค.
return result;
}
โ๐ป ๋๋ ๋ค๋ฅธ ํ์ด: split, join ๋ฉ์๋ ํ์ฉ
function convertDoubleSpaceToSingle(str) {
// split()๋ก ๋ฌธ์์ด์ ๋ ๊ฐ์ ๊ณต๋ฐฑ์ผ๋ก ์ชผ๊ฐ์ฃผ๊ณ , join()๋ก ๋ค์ ๊ณต๋ฐฑ ํ๋๋ง ๋ฃ์ด์ค ๊ฐ์ ๋ฆฌํดํ๋ค.
return str.split(' ').join(' ');
}
๐ก ์์๋๋ฉด ์ข์ ๊ฐ๋
(1) ๋ฐ๋ณต๋ฌธ, ์กฐ๊ฑด๋ฌธ ํ์ฉ
(2) split, join ๋ฉ์๋ ์์ฑ ํ์ ๋ฐ ํ์ฉ
๐ฉ๐ป๐ป ๋ฐฐ์ด ์
์ด๋ฒ ๋ฌธ์ ๋ ํน๋ณํ ์ด๋ ต๊ฑฐ๋ ๋ชจ๋ฅด๋ ๊ฐ๋ ์ ์์์ผ๋, for๋ฌธ๊ณผ if๋ฌธ์ ์ฐ์ง ์์๋ ๋ฉ์๋๋ฅผ ํ์ฉํ๋ฉด ๋จ ํ ์ค๋ก๋ ๋๋ ์ ์๋ ๋ฌธ์ ์๋ค. ์ฝ๊ฐ์ ํํํจ(?)์ด ๋ค์ง๋ง ์ด ๋ฌธ์ ๋ฅผ ๋ณด๋ฉด ์์ฐ์ค๋ฝ๊ฒ ๋ฐ๋ณต๋ฌธ ์กฐ๊ฑด๋ฌธ์ด ๋ ์ค๋ฅธ๊ฑด ๋ง์์ ๊ฑฐ๋ค. ์ฌ์ค ์ด๋ค ์ฝ๋๊ฐ ์ข์ ์ฝ๋์ธ์ง๋ ์์ง ๊ฐ์ด ์์ง๋ง, ์ง๊ธ์ ์ด๋ ๊ฒ ๋ค์ํ ์ฝ๋๋ค์ ์ ํ๋ ๊ฒ์ ์ฐ์ ์ผ๋ก ํด๋ณด์.
๋๊ธ