๐Ÿ… ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 120956 : ์˜น์•Œ์ด - Javascript

๋ฌธ์ œ ์„ค๋ช…

๋จธ์“ฑ์ด๋Š” ํƒœ์–ด๋‚œ ์ง€ 6๊ฐœ์›” ๋œ ์กฐ์นด๋ฅผ ๋Œ๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์กฐ์นด๋Š” ์•„์ง โ€œayaโ€, โ€œyeโ€, โ€œwooโ€, โ€œmaโ€ ๋„ค ๊ฐ€์ง€ ๋ฐœ์Œ์„ ์ตœ๋Œ€ ํ•œ ๋ฒˆ์”ฉ ์‚ฌ์šฉํ•ด ์กฐํ•ฉํ•œ(์ด์–ด ๋ถ™์ธ) ๋ฐœ์Œ๋ฐ–์— ํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด ๋ฐฐ์—ด babbling์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๋จธ์“ฑ์ด์˜ ์กฐ์นด๊ฐ€ ๋ฐœ์Œํ•  ์ˆ˜ ์žˆ๋Š” ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜๋ฅผ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.


์ œํ•œ์‚ฌํ•ญ

  • 1 โ‰ค babbling์˜ ๊ธธ์ด โ‰ค 100
  • 1 โ‰ค babbling[i]์˜ ๊ธธ์ด โ‰ค 15
  • babbling์˜ ๊ฐ ๋ฌธ์ž์—ด์—์„œ โ€œayaโ€, โ€œyeโ€, โ€œwooโ€, โ€œmaโ€๋Š” ๊ฐ๊ฐ ์ตœ๋Œ€ ํ•œ ๋ฒˆ์”ฉ๋งŒ ๋“ฑ์žฅํ•ฉ๋‹ˆ๋‹ค.
    • ์ฆ‰, ๊ฐ ๋ฌธ์ž์—ด์˜ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๋ถ€๋ถ„ ๋ฌธ์ž์—ด ์ค‘์—์„œ โ€œayaโ€, โ€œyeโ€, โ€œwooโ€, โ€œmaโ€๊ฐ€ ํ•œ ๋ฒˆ์”ฉ๋งŒ ๋“ฑ์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฌธ์ž์—ด์€ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

babbling result
[โ€œayaโ€, โ€œyeeโ€, โ€œuโ€, โ€œmaaโ€, โ€œwyeooโ€] 1
[โ€œayayeโ€, โ€œuuumaโ€, โ€œyeโ€, โ€œyemawooโ€, โ€œayaaโ€] 3
  • ์˜ˆ์ œ #1
    [โ€œayaโ€, โ€œyeeโ€, โ€œuโ€, โ€œmaaโ€, โ€œwyeooโ€]์—์„œ ๋ฐœ์Œํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ โ€œayaโ€๋ฟ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 1์„ returnํ•ฉ๋‹ˆ๋‹ค

  • ์˜ˆ์ œ #2
    [โ€œayayeโ€, โ€œuuumaโ€, โ€œyeโ€, โ€œyemawooโ€, โ€œayaaโ€]์—์„œ ๋ฐœ์Œํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ โ€œayaโ€ + โ€œyeโ€ = โ€œayayeโ€, โ€œyeโ€, โ€œyeโ€ + โ€œmaโ€ + โ€œwooโ€ = โ€œyemawooโ€๋กœ 3๊ฐœ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 3์„ returnํ•ฉ๋‹ˆ๋‹ค.


์œ ์˜์‚ฌํ•ญ

๋„ค ๊ฐ€์ง€๋ฅผ ๋ถ™์—ฌ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ฐœ์Œ ์ด์™ธ์—๋Š” ์–ด๋–ค ๋ฐœ์Œ๋„ ํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ์œผ๋กœ ๊ทœ์ •ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด โ€œwoowoโ€๋Š” โ€œwooโ€๋Š” ๋ฐœ์Œํ•  ์ˆ˜ ์žˆ์ง€๋งŒ โ€œwoโ€๋ฅผ ๋ฐœ์Œํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ํ•  ์ˆ˜ ์—†๋Š” ๋ฐœ์Œ์ž…๋‹ˆ๋‹ค.


ํ’€์ด ๊ณผ์ •

๊ทธ๋ƒฅ ๋ณด์ด๋Š” ๋Œ€๋กœ ๋ฐœ์Œ ๊ฐ€๋Šฅํ•œ ๋‹จ์–ด๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ฉด ์˜ˆ์ œ์— ์žˆ๋Š” โ€œwyeooโ€๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ โ€œyeโ€๋ฅผ ์ œ๊ฑฐํ•˜๊ณ , ๊ทธ ๋‹ค์Œ โ€œwooโ€๋ฅผ ์ œ๊ฑฐํ•ด ๋ฐœ์Œ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ์ฒ˜๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹จ์–ด๋ฅผ ์œ ์ง€ํ•œ ์ฑ„๋กœ ๋ชจ๋‘ ๋ฐœ์Œ์ด ๊ฐ€๋Šฅํ•œ์ง€ ํ™•์ธํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์ œ๊ฐ€ ์ƒ๊ฐํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋‹จ์–ด๋Š” ๊ทธ๋Œ€๋กœ ๋‘๊ณ , ๋‹จ์–ด์˜ ๊ธธ์ด๋งŒ ๊ตฌํ•ด์„œ ๋ฐœ์Œ์ด ๊ฐ€๋Šฅํ•  ๊ฒฝ์šฐ ๊ธธ์ด๋ฅผ ์ค„์—ฌ ๊ธธ์ด๊ฐ€ 0์ด ๋˜๋ฉด ๋ฐœ์Œ์ด ๊ฐ€๋Šฅํ•œ ๋‹จ์–ด๋ผ๊ณ  ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ ์กฐ๊ฑด ์ค‘ ๋ชจ๋“  ๋ฐœ์Œ์€ ํ•œ๋ฒˆ์”ฉ๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๋Ÿฌ๋ฒˆ ํฌํ•จ๋˜๋Š” ๊ฒฝ์šฐ๋Š” ์ƒ๊ฐํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค.

//์กฐ์นด๊ฐ€ ๊ฐ€๋Šฅํ•œ ๋ฐœ์Œ ๋ชฉ๋ก
const pronunciations = ['aya', 'ye', 'woo', 'ma'];

function solution(babbling) {
  let answer = 0;

  for (const word of babbling) {
    //๋‚จ์€ ๋‹จ์–ด์˜ ๊ธธ์ด
    let remain = word.length;

    for (const pronunce of pronunciations) {
      //๊ฐ€๋Šฅํ•œ ๋ฐœ์Œ์ด ํฌํ•จ๋˜๋ฉด ํ•ด๋‹น ๋ฐœ์Œ์˜ ๊ธธ์ด๋งŒํผ ๋‚จ์€ ๊ธธ์ด๋ฅผ ์ค„์ž„
      if (word.includes(pronunce)) {
        remain -= pronunce.length;
      }
    }

    //๋‚จ์€ ๊ธธ์ด๊ฐ€ ์—†์œผ๋ฉด ๋ฐœ์Œ ๊ฐ€๋Šฅํ•œ ๋‹จ์–ด
    if (remain === 0) {
      answer++;
    }
  }
  return answer;
}