๐ŸŒ  ๋ฌธ์ œ

PROGRAMMERS-962 ํ–‰์„ฑ์— ๋ถˆ์‹œ์ฐฉํ•œ ์šฐ์ฃผ๋น„ํ–‰์‚ฌ ๋จธ์“ฑ์ด๋Š” ์™ธ๊ณ„ํ–‰์„ฑ์˜ ์–ธ์–ด๋ฅผ ๊ณต๋ถ€ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์•ŒํŒŒ๋ฒณ์ด ๋‹ด๊ธด ๋ฐฐ์—ด spell๊ณผ ์™ธ๊ณ„์–ด ์‚ฌ์ „ dic์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. spell์— ๋‹ด๊ธด ์•ŒํŒŒ๋ฒณ์„ ํ•œ๋ฒˆ์”ฉ๋งŒ ๋ชจ๋‘ ์‚ฌ์šฉํ•œ ๋‹จ์–ด๊ฐ€ dic์— ์กด์žฌํ•œ๋‹ค๋ฉด 1, ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด 2๋ฅผ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

๐ŸŒ  ์ œํ•œ์‚ฌํ•ญ

  • spell๊ณผ dic์˜ ์›์†Œ๋Š” ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ์žˆ์Šต๋‹ˆ๋‹ค.
  • 2 ≤ spell์˜ ํฌ๊ธฐ ≤ 10
  • spell์˜ ์›์†Œ์˜ ๊ธธ์ด๋Š” 1์ž…๋‹ˆ๋‹ค.
  • 1 ≤ dic์˜ ํฌ๊ธฐ ≤ 10
  • 1 ≤ dic์˜ ์›์†Œ์˜ ๊ธธ์ด ≤ 10
  • spell์˜ ์›์†Œ๋ฅผ ๋ชจ๋‘ ์‚ฌ์šฉํ•ด ๋‹จ์–ด๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • spell์˜ ์›์†Œ๋ฅผ ๋ชจ๋‘ ์‚ฌ์šฉํ•ด ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋‹จ์–ด๋Š” dic์— ๋‘ ๊ฐœ ์ด์ƒ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • dic๊ณผ spell ๋ชจ๋‘ ์ค‘๋ณต๋œ ์›์†Œ๋ฅผ ๊ฐ–์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๐ŸŒ  ์ž…์ถœ๋ ฅ ์˜ˆ

spell dic result
["p", "o", "s"] ["sod", "eocd", "qixm", "adio", "soo"] 2
["z", "d", "x"] ["def", "dww", "dzx", "loveaw"] 1
["s", "o", "m", "d"] ["moos", "dzx", "smm", "sunmmo", "som"] 2

๐ŸŒ  ์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

์ž…์ถœ๋ ฅ ์˜ˆ #1

  • "p", "o", "s" ๋ฅผ ์กฐํ•ฉํ•ด ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋‹จ์–ด๊ฐ€ dic์— ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 2๋ฅผ returnํ•ฉ๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #2

  • "z", "d", "x" ๋ฅผ ์กฐํ•ฉํ•ด ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋‹จ์–ด "dzx"๊ฐ€ dic์— ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 1์„ returnํ•ฉ๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #3

  • "s", "o", "m", "d" ๋ฅผ ์กฐํ•ฉํ•ด ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋‹จ์–ด๊ฐ€ dic์— ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 2์„ returnํ•ฉ๋‹ˆ๋‹ค.

์œ ์˜์‚ฌํ•ญ

  • ์ž…์ถœ๋ ฅ ์˜ˆ #3 ์—์„œ "moos", "smm", "som"๋„ "s", "o", "m", "d" ๋ฅผ ์กฐํ•ฉํ•ด ๋งŒ๋“ค ์ˆ˜ ์žˆ์ง€๋งŒ spell์˜ ์›์†Œ๋ฅผ ๋ชจ๋‘ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ •๋‹ต์ด ์•„๋‹™๋‹ˆ๋‹ค.

๐Ÿงž ํ’€์ด

function solution(spell, dic) {
    while (dic.length != 0) {
        let tmp = dic.shift();
        let cnt = 0;
        for (e in spell) {
            if (tmp.includes(spell[e])) {
                cnt += 1;
            }
        }
        if (cnt === spell.length) {
            return 1;
        }
    }
    return 2;
}

+ Recent posts