๐ ๋ฌธ์
๋จธ์ฑ์ด๋ ํ์ด๋ ์ง 11๊ฐ์ ๋ ์กฐ์นด๋ฅผ ๋๋ณด๊ณ ์์ต๋๋ค. ์กฐ์นด๋ ์์ง "aya", "ye", "woo", "ma" ๋ค ๊ฐ์ง ๋ฐ์๊ณผ ๋ค ๊ฐ์ง ๋ฐ์์ ์กฐํฉํด์ ๋ง๋ค ์ ์๋ ๋ฐ์๋ฐ์ ํ์ง ๋ชปํ๊ณ ์ฐ์ํด์ ๊ฐ์ ๋ฐ์์ ํ๋ ๊ฒ์ ์ด๋ ค์ํฉ๋๋ค. ๋ฌธ์์ด ๋ฐฐ์ด babbling์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๋จธ์ฑ์ด์ ์กฐ์นด๊ฐ ๋ฐ์ํ ์ ์๋ ๋จ์ด์ ๊ฐ์๋ฅผ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- 1 ≤ babbling์ ๊ธธ์ด ≤ 100
- 1 ≤ babbling[i]์ ๊ธธ์ด ≤ 30
- ๋ฌธ์์ด์ ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
์ ์ถ๋ ฅ ์
["aya", "yee", "u", "maa"] | 1 |
["ayaye", "uuu", "yeye", "yemawoo", "ayaayaa"] | 2 |
โ๏ธ ํ์ด
๋ฐ๋ณต๋์ ๋์ฌ ์ ์๊ณ ๋จ์ด๊ฐ ์ ํด์ ธ ์๊ธฐ ๋๋ฌธ์ ์ ๊ทํํ์์ ์ด์ฉํ๋ฉด ํธํ๊ฒ ํ ์ ์๊ฒ ๋ค๊ณ ์๊ฐํ๋ค.
์ฒ์์ ์ ๋๋ก ๋ณด์ง ๋ชปํ ์กฐ๊ฑด๋ฌธ์ด ์์๋๋ฐ ๊ฐ์ ์น์์ด๊ฐ ๋๋ฒ ์ด์ ๋ฐ๋ณต๋ ์ ์๋ค๋ ๊ฒ์ด์๋ค. ์ด ์กฐ๊ฑด์ ๋๋ replace๋ฅผ ์ด์ฉํด์ ์ ๊ฑฐํ๊ธฐ ์ ์ repeat ๋ฉ์๋๋ฅผ ์ด์ฉํด์ ๋ฌธ์์ด์ ๋ ๋ฐฐ๋ก ์ฆ๊ฐ์ํค๊ณ ๋ ๋ฒ ๋ฐ๋ณต๋๋ ๋ฌธ์์ด์ด ์๋์ง match ๋ฉ์๋๋ก ํ์ธํ๋ค. ์๋ค๋ฉด ๊ฐ๋ฅํ ์น์์ด์ธ์ง ํ์ธํ๊ธฐ ์ํด์ ๊ฐ ๋ฐ์์ "-" ๋ฌธ์๋ก ๋ณ๊ฒฝํ๋ค. ๋น๋ฌธ์์ด๋ก ๋ณ๊ฒฝํ์ง ์๊ณ "-"๋ก ๋ณ๊ฒฝํ ์ด์ ๋ ํ๋์ ๋ฐ์์ ์ง์ ์ ๋ ๋ค๋ฅธ ๋ฐ์์ด ๊ฐ๋ฅํ ๊ฒฝ์ฐ๊ฐ ์์ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๋ง์ฝ "yayae"๋ผ๋ ๋ฌธ์๋ฅผ ํ์ธํ ๋ "aya"๊ฐ ์ค์์ ์์ผ๋ฏ๋ก ์ด๋ฅผ ์ง์ฐ๋ฉด "ye"๊ฐ ๋์ด ์ฌ๋ฐ๋ฅด์ง ์์ ๊ฒฐ๊ณผ๋ฅผ ๋ผ ์ ์๋ค. ๋ฐ๋ผ์ ๋ชจ๋ ๋ฐ์์ "-"๋ก ์นํํ๊ณ "-"๋ฅผ ๋น๋ฌธ์("")๋ก ๋ณ๊ฒฝํ์ ๋ ์ต์ข ์ ์ผ๋ก ๋น ๋ฌธ์์ด์ด ๋๋ฉด ๊ฐ๋ฅํ ๋จ์ด์ด๋ฏ๋ก answer๋ฅผ 1 ์ฆ๊ฐ์์ผ์ค๋ค.
โจ๏ธ ์ฝ๋
function solution(babbling) {
var answer = 0;
const words = ['aya', 'ye', 'woo', 'ma'];
for (const b of babbling) {
let str = b;
for (const word of words) {
const checkRegex = new RegExp(word.repeat(2));
if (b.match(checkRegex)) break;
const regex = new RegExp(word, 'g');
str = str.replace(regex, '-');
}
if (!str.replace(/-/g, '')) answer += 1;
}
return answer;
}
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Algorithm] ์นด๋ ๋ญ์น (0) | 2023.04.23 |
---|---|
[Algorithm] ์ซ์ ์ง๊ฟ (0) | 2023.04.23 |
[Algorithm] ๋ฌธ์์ด ๋๋๊ธฐ (0) | 2023.04.19 |
[Algorithm] ๋๋ง์ ์ธ์ด (0) | 2023.04.18 |
[Algorithm] ๋ฌ๋ฆฌ๊ธฐ ๊ฒฝ์ฃผ (0) | 2023.04.17 |