๋จธ์ฑ์ด๋ ํ์ด๋ ์ง 11๊ฐ์ ๋ ์กฐ์นด๋ฅผ ๋๋ณด๊ณ ์์ต๋๋ค. ์กฐ์นด๋ ์์ง "aya", "ye", "woo", "ma" ๋ค ๊ฐ์ง ๋ฐ์๊ณผ ๋ค ๊ฐ์ง ๋ฐ์์ ์กฐํฉํด์ ๋ง๋ค ์ ์๋ ๋ฐ์๋ฐ์ ํ์ง ๋ชปํ๊ณ ์ฐ์ํด์ ๊ฐ์ ๋ฐ์์ ํ๋ ๊ฒ์ ์ด๋ ค์ํฉ๋๋ค. ๋ฌธ์์ด ๋ฐฐ์ด babbling
์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๋จธ์ฑ์ด์ ์กฐ์นด๊ฐ ๋ฐ์ํ ์ ์๋ ๋จ์ด์ ๊ฐ์๋ฅผ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
babbling
์ ๊ธธ์ด โค 10babbling[i]
์ ๊ธธ์ด โค 30babbling | result |
---|---|
["aya", "yee", "u", "maa"] | 1 |
["ayaye", "uuu", "yeye", "yemawoo", "ayaayaa"] | 2 |
์ ์ถ๋ ฅ ์ #1
์ ์ถ๋ ฅ ์ #2
๋ค ๊ฐ์ง๋ฅผ ๋ถ์ฌ ๋ง๋ค ์ ์๋ ๋ฐ์ ์ด์ธ์๋ ์ด๋ค ๋ฐ์๋ ํ ์ ์๋ ๊ฒ์ผ๋ก ๊ท์ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด "woowo"๋ "woo"๋ ๋ฐ์ํ ์ ์์ง๋ง "wo"๋ฅผ ๋ฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์ ํ ์ ์๋ ๋ฐ์์ ๋๋ค.
function solution(babbling) {
const canBab = ['aya', 'ye', 'woo', 'ma']
let result = 0
// ์ ์ฒด ๋ฌธ์ ๋ฐฐ์ด
for(let i = 0 ; i < babbling.length ; i ++) {
// ๊ฐ๋ฅํ ์น์์ด ๋ฐฐ์ด
for(let j = 0 ; j < canBab.length ; j ++ ) {
// ๋ฐ์ํด์ผ ํ ๋ฌธ์๊ฐ ๊ฐ๋ฅํ ์น์์ด๋ฅผ ํฌํจํ๋๊ฐ?
if(babbling[i].includes(canBab[j])) {
// ๊ฐ๋ฅํ ๋ถ๋ถ์ ์ ๊ฑฐํ ํ j--์ ํ์ฌ ์ ๋ถ ์ ๊ฑฐํ ์ ์๋์ง ํ์ธ
// ์ฐ์๋์ง ์์ ๋ถ๋ถ๋ง
if(babbling[i].slice(0,canBab[j].length) === babbling[i].slice(canBab[j].length,canBab[j].length*2)) break
babbling[i] = babbling[i].replace(canBab[j],'')
j--
}
// ์ ๋ถ ๋ค ๋ฐ์ํ ์ ์๋ค๋ฉด
if(babbling[i].length === 0) {
result++
break
}
}
}
return result
}
์๋ฆ๋ค์ด ์ฝ๋์์