๐ ๋ฌธ์
๋ฌธ์์ด์ ์ ๋ ฅ๋ฐ์ ๋ฌธ์์ด์์ ์ซ์๋ฅผ ๋ชจ๋ ์ฐพ์ ๋ํ ๋ค์ ํด๋น ๊ฐ์ (์ซ์์ ๊ณต๋ฐฑ์ ์ ์ธํ ๋๋จธ์ง) ๋ฌธ์์ด์ ๊ธธ์ด๋ก ๋๋ ๊ฐ์ ์ ์๋ก ๋ฐ์ฌ๋ฆผํ์ฌ ๋ฆฌํดํด์ผ ํฉ๋๋ค.
โ ๏ธ ์ฃผ์์ฌํญ
- ๋น ๋ฌธ์์ด์ ์
๋ ฅ๋ฐ์ ๊ฒฝ์ฐ, 0์ ๋ฆฌํดํด์ผ ํฉ๋๋ค.
- ์ซ์(digit)๋ ์ฐ์ํด์ ๋ฑ์ฅํ์ง ์์ต๋๋ค.
โ๐ป ๋ด ํ์ด
function numberSearch(str) {
// ์
์ถ๋ ฅ ์์
// 'Hello6 9World 2,'
// ์ซ์: 6+9+2 = 17, ๋ฌธ์์ด ๊ธธ์ด: 10 (์ซ์ ๊ณต๋ฐฑ ์ ์ธ)
// 17 / 10 = 1.7 -> ๋ฐ์ฌ๋ฆผํด์ 2
// ์์ ์ซ์๋ฅผ ์ ์ธ
const digits = '0123456789';
// ๋ง์ฝ str์ด ๋น ๋ฌธ์์ด์ด๋ผ๋ฉด
if (str === '') {
// 0์ ๋ฆฌํด
return 0;
}
// ํฉ ์ด๊ธฐ๊ฐ ์ ์ธ
let sum = 0;
// ๋ฌธ์์ด ์ด๊ธฐ๊ฐ ์ ์ธ
let pureStr = '';
// for๋ฌธ์์ ๋ฌธ์์ด์ ์ซ์, ๊ณต๋ฐฑ ์๋์ง ํ์ธ
for (let i = 0; i < str.length; i += 1) {
// ํด๋น ๋ฌธ์์ด ๊ฐ ์ธ๋ฑ์ค์ ์ซ์๊ฐ ํฌํจ๋ ๊ฒฝ์ฐ
if (digits.includes(str[i])) {
// ๊ฐ ์ซ์๋ค์ ๋ชจ๋ ๋ํ๊ธฐ
sum = sum + Number(str[i]);
// ํด๋น ๋ฌธ์์ด ๊ฐ ์ธ๋ฑ์ค๊ฐ ์ซ์๋ ๊ณต๋ฐฑ๋ ์๋๋ผ๋ฉด
} else if (str[i] !== ' ') {
// ๋ฌธ์์ด์ ๊ทธ๋ฅ ๋ฆฌํด
pureStr = pureStr + str[i];
}
}
// ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ฌ๋ฆผํ๊ธฐ
return Math.round(sum / pureStr.length);
}
๐ก ์์๋๋ฉด ์ข์ ๊ฐ๋
includes() ๋ฉ์๋๋ ๋ฐฐ์ด์ด ํน์ ์์๋ฅผ ํฌํจํ๊ณ ์๋์ง ํ๋ณํ๋ฉฐ, Boolean ๊ฐ์ ๋ฐํํ๋ค.
const animal = ['cat', 'dog', 'chicken'];
console.log(animal.includes('cat')); // true
console.log(animal.includes('Ella')); // false
๐ฉ๐ป๐ป ๋ฐฐ์ด ์
๋๊ธ