๋ฌธ์
์ซ์์ ์ผ๋ถ ์๋ฆฟ์๊ฐ ์๋จ์ด๋ก ๋ฐ๋์ด์ก๊ฑฐ๋, ํน์ ๋ฐ๋์ง ์๊ณ ๊ทธ๋๋ก์ธ ๋ฌธ์์ด 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);
}

'๐กAlgorithm > ๋ฌธ์ ํ๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
JS์๊ณ ๋ฆฌ์ฆ | ์๋๊ทธ๋จ์ด ๋๋ ๋ถ๋ถ๋ฌธ์์ด์ ๊ฐ์ ๊ตฌํ๊ธฐ (0) | 2021.09.24 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค(Level 1) - 2์ฃผ์ฐจ_์ํธํ๊ฐ (0) | 2021.09.23 |
JS์๊ณ ๋ฆฌ์ฆ | ํ๋ก๊ทธ๋๋จธ์ค(Level 1) - ํฐ์ผ๋ชฌ (0) | 2021.09.17 |
JS์๊ณ ๋ฆฌ์ฆ | ํ๋ก๊ทธ๋๋จธ์ค(Level 1) - ์์๋ํ๊ธฐ (0) | 2021.09.17 |
JS์๊ณ ๋ฆฌ์ฆ | ํ๋ก๊ทธ๋๋จธ์ค(Level 1) - ํ๊ท ๊ตฌํ๊ธฐ (0) | 2021.09.16 |