λ¬Έμ
λ€μ€μ νλ‘λκ° μ«μλμ΄λ₯Ό νκ³ μμ΅λλ€. λ€μ€κ° νλ‘λμκ² μ«μλ₯Ό κ±΄λ¬ λ μΌλΆ μλ¦Ώμλ₯Ό μλ¨μ΄λ‘ λ°κΎΌ μΉ΄λλ₯Ό 건λ€μ£Όλ©΄ νλ‘λλ μλ μ«μλ₯Ό μ°Ύλ κ²μμ
λλ€.
λ€μμ μ«μμ μΌλΆ μλ¦Ώμλ₯Ό μλ¨μ΄λ‘ λ°κΎΈλ μμμ
λλ€.
- 1478 → "one4seveneight"
- 234567 → "23four5six7"
- 10203 → "1zerotwozero3"
μ΄λ κ² μ«μμ μΌλΆ μλ¦Ώμκ° μλ¨μ΄λ‘ λ°λμ΄μ‘κ±°λ, νΉμ λ°λμ§ μκ³ κ·Έλλ‘μΈ λ¬Έμμ΄ sκ° λ§€κ°λ³μλ‘ μ£Όμ΄μ§λλ€. sκ° μλ―Ένλ μλ μ«μλ₯Ό return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
μ ν μ¬ν
- 1 ≤ sμ κΈΈμ΄ ≤ 50
- sκ° "zero" λλ "0"μΌλ‘ μμνλ κ²½μ°λ μ£Όμ΄μ§μ§ μμ΅λλ€.
- return κ°μ΄ 1 μ΄μ 2,000,000,000 μ΄νμ μ μκ° λλ μ¬λ°λ₯Έ μ λ ₯λ§ sλ‘ μ£Όμ΄μ§λλ€.
s | result |
"one4seveneight" | 1478 |
"23four5six7" | 234567 |
"2three45sixseven" | 234567 |
"123" | 123 |
(1) λμ νμ΄ λ°©λ²
function solution(s) {
let answer = 0;
s = s.replace(/zero/gi,'0')
s = s.replace(/one/gi,'1');
s = s.replace(/two/gi,'2');
s = s.replace(/three/gi,'3');
s = s.replace(/four/gi,'4');
s = s.replace(/five/gi,'5');
s = s.replace(/six/gi,'6');
s = s.replace(/seven/gi,'7');
s = s.replace(/eight/gi,'8');
s = s.replace(/nine/gi,'9');
console.log(s);
answer = Number(s);
return answer;
}
1. replace ν¨μλ₯Ό μ΄μ©ν΄ μμ΄ λ¬Έμμ΄μ μ«μλ‘ λ³κ²½νλ€.
2. Number ν¨μλ₯Ό μ΄μ©ν΄ λ¬Έμμ΄μ μ«μλ‘ λ³ννλ€.
→ νμ΄λ λ§μμ§λ§ replace ν¨μλ₯Ό μ¬μ©νλ κ² λ± λλΆλΆμ νμ΄λ°©μμ ꡬκΈλ§μΌλ‘ ν΄κ²°νμ¬, νμ΄ μ½λμ λν λͺ νν μ΄ν΄κ° νμνλ€κ³ λκΌλ€.
ν΄κ²° λ°©μ
(1) replace ν¨μμ λν λͺ νν μ΄ν΄
β» replace
- μ΄λ€ ν¨ν΄μ μΌμΉνλ μΌλΆ λλ λͺ¨λ λΆλΆμ΄ κ΅μ²΄λ μλ‘μ΄ λ¬Έμμ΄μ λ°ννλ ν¨μ
- νΉμ§: μ κ· ννμμΌλ‘ λνλ΄μ§ μμ κ²½μ° μ²« λ²μ§Έ λ¬Έμμ΄λ§ κ΅μ²΄λ¨.
β» str_text.replace(/μ°Ύμ λ¬Έμμ΄/gi, "λ³κ²½ν λ¬Έμμ΄")
- μ ν΄μ§ κ·μΉμ νμ©ν΄ λͺ¨λ λ¬Έμ λ³ν κ°λ₯
- μ°Ύμ λ¬Έμμ΄μ λ°μ΄νλ‘ λ¬Άμ§ μμμΌ ν¨.
* g : μ 체 λͺ¨λ λ¬Έμμ΄ λ³κ²½ (global)
* i : μλ¬Έ λμλ¬Έμ 무μ, λͺ¨λ μΌμΉνλ ν¨ν΄ κ²μ (ignore)
(2) λ¬Έμμ΄μ μ«μλ‘ λ³κ²½νλ λ°©λ²μ λν μ΄ν΄
β» Number(value)
- λ¬Έμμ΄μ΄λ λ€λ₯Έ κ°μ Number νμ μΌλ‘ λ³ν.