[ํ๋ก๊ทธ๋๋จธ์ค] Lv0 : ๋ชจ์ ์ ๊ฑฐ
๋ฌธ์ ์ค๋ช
์์ด์์ a, e, i, o, u ๋ค์ฏ ๊ฐ์ง ์ํ๋ฒณ์ ๋ชจ์์ผ๋ก ๋ถ๋ฅํฉ๋๋ค. ๋ฌธ์์ด my_string์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋ ๋ชจ์์ ์ ๊ฑฐํ ๋ฌธ์์ด์ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
์ ์ถ๋ ฅ ์
my_string | result |
---|---|
"bus" | "bs" |
"nice to meet you" | "nc t mt y" |
function solution(my_string) {
let vowel = ["a", "e", "i", "o", "u"];
var answer = my_string.split("").filter((e) => !vowel.includes(e));
return answer.join("");
}
๊ตฌํ ์ ๊ทผ
1. ํด๋น ๋ชจ์์ด ์กด์ฌํ๋์ง ํ๋จํ๊ธฐ ์ํ ๋ฉ์๋ ์ฌ์ฉ์ด ํ์ํ ๊ฑฐ ๊ฐ์ ๋ฌธ์์ด ์
๋ ฅ ๊ฐ์ ๋ฐฐ์ด๋ก ๋ฐํ
2. filter๋ฅผ ํตํด ํ์ฌ ๊ฐ e์ vowel๊ฐ์ด ํฌํจ๋์ด์๋์ง,
NOT ๋
ผ๋ฆฌ์ฐ์ฐ์ (!)๋ฅผ ํตํด ๋ชจ์์ด ํฌํจ๋์ด ์์ง ์์ ๊ฐ์ ๋ฐํํ๋ ํจ์ ๊ตฌํ
3. join ๋ฉ์๋๋ฅผ ํตํด์ ๋ฐํ๋ ๋ฌธ์์ด ๋ฐฐ์ด์ ๋ฌธ์์ด๋ก ๋ณํฉ
๋ฌธ์ ์
1. ๋ฌธ์ ๋ฅผ ํ ๋ ๊ณ์ํด์ ์ฐธ๊ณ ๋ง ํ๊ณ ์ค์ค๋ก ํ ๋
ธ๋ ฅ์ ํ์ง ์์์ ๋ฌธ์ ๋ฅผ ํธ๋ ์ฌ๊ณ ๊ฐ ๋์ง ์๋ ๊ฒ์ ์ค์ค๋ก ๊นจ๋ฌ์
[ํ๋ก๊ทธ๋๋จธ์ค] Lv0 : ๋ฐฐ์ด์ ์ ์ฌ๋
๋ฌธ์ ์ค๋ช
๋ ๋ฐฐ์ด์ด ์ผ๋ง๋ ์ ์ฌํ์ง ํ์ธํด๋ณด๋ ค๊ณ ํฉ๋๋ค. ๋ฌธ์์ด ๋ฐฐ์ด s1๊ณผ s2๊ฐ ์ฃผ์ด์ง ๋ ๊ฐ์ ์์์ ๊ฐ์๋ฅผ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
์ ์ถ๋ ฅ ์
s1 | s2 | result |
---|---|---|
["a", "b", "c"] | ["com", "b", "d", "p", "c"] | 2 |
["n", "omg"] | ["m", "dot"] | 0 |
function solution(s1, s2) {
var answer = s1.filter((e) => s2.includes(e)).length;
return answer;
}
๊ตฌํ ์ ๊ทผ
1. ํด๋น ๋ฌธ์ ์ญ์ ์ ๋ฌธ์ ์ ๊ฐ์ ํ์์ ๊ตฌํ์ด์๊ธฐ์ ๊ทธ๋๋ก ํ ์ ์์๋ค.
[ํ๋ก๊ทธ๋๋จธ์ค] Lv0 : ์จ์ด์๋ ์ซ์์ ๋ง์ (1)
๋ฌธ์ ์ค๋ช
๋ฌธ์์ด my_string์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. my_string์์ ๋ชจ๋ ์์ฐ์๋ค์ ํฉ์ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
์ ์ถ๋ ฅ ์
my_string | result |
---|---|
"aAb1B2cC34oOp" | 10 |
"1a2b3c4d123" | 16 |
function solution(my_string) {
var answer = my_string
.split("")
.filter((e) => !isNaN(e))
.reduce((a, c) => a + parseInt(c), 0);
return answer;
}
๊ตฌํ ์ ๊ทผ
1.๊ตฌ๋ณ ์์ด ์์ฌ์๋ ๋ฐฐ์ด์ ํ๋์ฉ ๋๋๊ธฐ ์ํด split ๋ฉ์๋ ์ฌ์ฉ.
2. filter๋ฅผ ํตํด ๋ฌธ์์ด ์๋ฆฌ๋จผํธ ๋ค์ ๊ฐ๊ฐ ํ๋ณํ ์ NaN์ด ๋์ง ์๋ ๊ฐ ๋ฐํ.
3. reduce๋ฅผ ์ฌ์ฉํ์ฌ ํ์ฌ(c) ๊ฐ์ ํ๋ณํ ์์ผ์ค ๋ค ์ด๊ธฐ ๊ฐ์ 0์ผ๋ก ์ค์ ํ์ฌ ๋์ฐ.