๋ฌธ์ œ

์ˆซ์ž์˜ ์ผ๋ถ€ ์ž๋ฆฟ์ˆ˜๊ฐ€ ์˜๋‹จ์–ด๋กœ ๋ฐ”๋€Œ์–ด์กŒ๊ฑฐ๋‚˜, ํ˜น์€ ๋ฐ”๋€Œ์ง€ ์•Š๊ณ  ๊ทธ๋Œ€๋กœ์ธ ๋ฌธ์ž์—ด s๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง„๋‹ค. s๊ฐ€ ์˜๋ฏธํ•˜๋Š” ์›๋ž˜ ์ˆซ์ž๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•˜๋ผ.

์ž…๋ ฅ์˜ˆ์ œ | "one4seveneight"

์ถœ๋ ฅ์˜ˆ์ œ | 1478

 

์ฒ˜์Œ ์ฝ”๋“œ(์‹คํŒจ)

const solution = (s) => {
  const numStr = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'];
  const num = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];

  let answer = s;

  for (let i = 0; i < numStr.length; i++) {
    let arr = answer.split(numStr[i]);

    if (arr.length > 1) {
      let idx = numStr.indexOf(numStr[i]);
      arr.splice(1, 0, num[idx]);
      answer = arr.join(i);
    }
  }
  let answer2 = answer.split('');

  let result = answer2.reduce((acc, cur, idx, arr) => {
    if (arr.indexOf(cur) === idx) acc.push(cur);
    return acc;
  }, []);

  return Number(result.join(''));
}

์ฒ˜์Œ์—๋Š” ์ด๋ ‡๊ฒŒ ํ’€์—ˆ๋Š”๋ฐ, ํ…Œ์ŠคํŠธ์ผ€์ด์Šค๋งŒ ๋ณด๊ณ  ์ค‘๋ณต์ œ๊ฑฐ๋ฅผ ํ•˜๋ฉด๋œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ํ•˜๊ณ ๋ณด๋‹ˆ ์ฃผ์–ด์ง€๋Š” ๋ฌธ์ž์—ด์— ์ค‘๋ณต์ด ์žˆ์„ ์ˆ˜๋„ ์žˆ๋Š”๋ฐ ๊ทธ๊ฒƒ๋งˆ์ € ์—†์• ๋Š” ์ฝ”๋“œ๊ฐ€ ๋˜์—ˆ๋‹ค. ๋‹ค์‹œ ์ƒˆ๋กœ ์งœ์•ผํ–ˆ๋‹ค. 

 

 

๋‹ค๋ฅธํ’€์ด

const solution = (s) => {
  let answer = 0;

  s = s.replace(/one/g, '1');
  s = s.replace(/two/g, '2');
  s = s.replace(/three/g, '3');
  s = s.replace(/four/g, '4');
  s = s.replace(/five/g, '5');
  s = s.replace(/six/g, '6');
  s = s.replace(/seven/g, '7');
  s = s.replace(/eight/g, '8');
  s = s.replace(/nine/g, '9');
  s = s.replace(/zero/g, '0');

  console.log(s);
  return Number(s);
}

 

 

๋‹ค๋ฅธํ’€์ด

const solution = (s) => {
  let numbers = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"];

  for (let i = 0; i < numbers.length; i++) {
    let arr = s.split(numbers[i]);
    s = arr.join(i);
  }

  return Number(s);
}

+ Recent posts