μ«μ λ¬Έμμ΄κ³Ό μλ¨μ΄
https://programmers.co.kr/learn/courses/30/lessons/81301
λ€λ₯Έ μ¬λλ€μ μ΄λ€ λ°©μμΌλ‘ νμλμ§ μ°Ύμ보μλλ°, μ¬λΌμμλ μ λ΅ μ½λλ€ μ€μμ κ°μ₯ λ§μ μ’μμλ₯Ό λ°μ μ½λκ° μΈμμ μ΄μμ΅λλ€. μ΄λ₯Ό ν¬ν¨νμ¬ μ΄λ² λ¬Έμ λ₯Ό ν΄κ²°νλ λ°©λ²μ ν¬κ² 2κ°μ§λ‘ λλμ΄λ³Ό μ μμμ΅λλ€.
1. replace λ©μλμ μ κ·ννμ
function solution(s) {
s = s.replace(/zero/gi, '0')
.replace(/one/gi, '1')
.replace(/two/gi, '2')
.replace(/three/gi, '3')
.replace(/four/gi, '4')
.replace(/five/gi, '5')
.replace(/six/gi, '6')
.replace(/seven/gi, '7')
.replace(/eight/gi, '8')
.replace(/nine/gi, '9')
return parseInt(s);
}
π€ μ λ ₯λλ κ°μΈ sκ° λ¬Έμμ΄μ΄κ³ , νΉμ ν¨ν΄μ μ°ΎμμΌ νλ€. -> μ κ·ννμμ μ¬μ©ν΄λ³ΌκΉ?
π€ νΉμ ν¨ν΄μ μ°Ύμμ κ°μμΉμ΄λ€. -> μ κ·ννμκ³Ό replace λ©μλλ₯Ό μ¬μ©ν΄λ³ΌκΉ?
π replace λ©μλ
π μ κ·ννμ
π replaceμ μ κ·ννμ κ°μ΄ μ¬μ©νκΈ°
π‘ μΆλ ₯κ°μ μ«μνμ΄μ΄μΌ νλ―λ‘, λ¬Έμμ΄μΈ sλ₯Ό μ«μλ‘ λ³ννλ€. -> parseInt λ©μλλ‘ κ΅¬ν κ°λ₯ν©λλ€.
π‘ replace(μ κ·ννμ, λ체ν λ¬Έμμ΄) μ΄λΌλ κΈ°μ μ μκ²λμμ΅λλ€.
2. split λ©μλμ join λ©μλ (feat. μ’μμ 103κ°λ₯Ό λ°μ νμ΄ λ°©λ²π)
function solution(s) {
let numbers = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"];
var answer = s;
for(let i=0; i< numbers.length; i++) {
let arr = answer.split(numbers[i]);
answer = arr.join(i); //λ°λ³΅λ¬Έμ λλ € λλ λκΉμ§ λμ
ν©λλ€.
}
return Number(answer); //Number() μμ±μλ λ¬Έμμ΄μ΄λ λ€λ₯Έ νμ
μ μ«μλ‘ μμ±ν©λλ€.
}
π€ μ«μμ λμνλ μλ¨μ΄ νλ₯Ό μμΈν보λ, μ«μκ° 0λΆν° μμνλ€? -> μΈλ±μ€λ‘ νμ©ν μλ μμκΉ?
π€ μλ¨μ΄λ₯Ό μμλ‘ κ°μ§λ λ°°μ΄μ νλ λ§λ€λ©΄ μΈλ±μ€λ₯Ό νμ©ν μ μμ κ² κ°λ€.
π€ μ£Όμ΄μ§λ λ¬Έμμ΄μ μλ¨μ΄λ‘ μͺΌκ°μ μ«μλ‘ ν©μΉλ λ°©λ²μ μκ°ν΄λ΄μΌ κ² λ€. -> split, join λ©μλ νμ©
π split λ©μλ
π join λ©μλ
"one4seveneight" λΌλ μμλ₯Ό ν΅ν΄ μμ μ½λμμ
split, join λ©μλκ° κ΅¬μ²΄μ μΌλ‘ μ΄λ»κ² μλνλμ§ λ³΄κ² μ΅λλ€.
//iκ° 0μΌ λ -> numbers[0]λ 'zero'
answer.split(numbers[0])
//"one4seveneight"μ 'zero'κ° μμΌλ―λ‘ μλ³Έμ μ μ§ν©λλ€.
arr.join(0)
//μ¬μ΄λ₯Ό κ²°ν©ν λλ€λ₯Έ λ¬Έμμ΄μ΄ μμΌλ―λ‘ κ²°ν©νμ§ μμ΅λλ€.
//iκ° 1μΌ λ -> numbers[1]λ 'one'
answer.split(numbers[1])
//"", "4seveneight"
arr.join(1)
//" "μ "4seveneight" μ¬μ΄μ 1 κ²°ν© -> 14seveneight
...
//iκ° 7μΌ λ -> numbers[7]λ 'seven'
answer.split(numbers[7])
//"14", "eight"
arr.join(7)
// "14"μ "eight" μ¬μ΄μ 7 κ²°ν© -> 147eight
//iκ° 8μΌ λ -> numbers[7]λ 'eight'
answer.split(numbers[8]
//"147", ""
arr.join(8)
// "147"μ "" μ¬μ΄μ 7 κ²°ν© -> 1478
π‘ split λ©μλλ₯Ό μ¬μ©ν λ, ꡬλΆμ(seperator, μͺΌκ°λ κΈ°μ€μ΄ λλ λ¬Έμμ΄)λ μμ λκ³ κ΅¬λΆμλ‘ λμ κ°κ°μ λ¬Έμμ΄λ‘ μ΄λ£¨μ΄μ§ λ°°μ΄μ΄ λ°νλ©λλ€. ν κ°μ§ λ μμμΌ νλ κ²μ, ꡬλΆμκ° λ§¨ μμ΄λ 맨 λ€μ μλ κ²½μ°μλ λΉ λ¬Έμμ΄λ‘ μͺΌκ°μ§λ€λ κ²μ λλ€. μ΄λ 곡μ λ¬Έμμλ λμμμ΅λλ€.
μμ λ³Έ "one4seveneight"μ "one"μ΄λΌλ λ¬Έμμ΄λ‘ μͺΌκ°€ κ²½μ°, μͺΌκ°λ κΈ°μ€μΈ ꡬλΆμκ° λ§¨ μμ μμΉνλ―λ‘ λΉλ¬Έμμ΄λ‘ μμνκ² λ©λλ€. λ°λΌμ λΉ λ¬Έμμ΄ ""κ³Ό "4seveneight"μΌλ‘ λλ©λλ€.
λ§μ°¬κ°μ§λ‘ "147eight"μ΄λΌλ λ¬Έμμ΄μ "eight"μ κΈ°μ€μΌλ‘ μͺΌκ°€ κ²½μ°, μͺΌκ°λ κΈ°μ€μΈ ꡬλΆμκ° λ§¨ λ€μ μμΉνλ―λ‘ λΉλ¬Έμμ΄λ‘ λλκ² λ©λλ€. λ°λΌμ "147"κ³Ό λΉ λ¬Έμμ΄ ""μΌλ‘ λλ©λλ€.
κ²°κ³Όμ μΌλ‘ μλ¨μ΄ ꡬλΆμλ₯Ό κΈ°μ€μΌλ‘ λ¬Έμμ΄μ΄ μͺΌκ°μ§κ³ , μλ¨μ΄ ꡬλΆμκ° μλ μ리μ μ«μλ₯Ό κ²°ν©νλλ°©λ²μ λ°λ³΅μ μΌλ‘ μννκ² λλ κ²μ λλ€.
3μ€ μ 리
1. μ«μλ‘ λ³ννλ λ²: parsInt λ©μλ(λ¬Έμμ΄ -> μ μ) λλ Number() μμ±μ
2. split λ©μλμ join λ©μλλ₯Ό ν¨κ» νμ©ν μ μλ€.
- split λ©μλ: ꡬλΆμλ₯Ό κΈ°μ€μΌλ‘ λ¬Έμμ΄ μͺΌκ°κΈ°.
- νΉν ꡬλΆμκ° λ§¨ μ λλ 맨 λ€μ μλ κ²½μ°μλ λΉ λ¬Έμμ΄λ‘ μͺΌκ°μ§λ€ -> joinμ νμ©ν μ μμ.
- join λ©μλ: μ¬λ¬ λ¬Έμμ΄ μ¬μ΄μ νΉμ λ¬Έμμ΄μ λ£μ΄ νλλ‘ κ²°ν©νκΈ°.
3. μ κ·ννμμ λ°°μμ μ 리ν΄λ³΄μ.
μμ μ½λλ μ΄λ¬ν μ μ νμ©ν΄, μλ¨μ΄ ꡬλΆμκ° μμ λ κ³΅κ° μ¬μ΄μ joinμΌλ‘ μ«μλ₯Ό κ²°ν©νλ λ°©μμ ννμ΅λλ€. μ΄ μ½λκ° λ§μ μ’μμλ₯Ό λ°μ μ΄μ λ, νν μκ³ μλ λ©μλλ₯Ό κΈ°λ°ν λ°©μμΌλ‘ μ¬μ©ν΄ μ½λλ₯Ό κΉλνκ² μ²λ¦¬νλ€λ μ μμμμ λ§μ λΆλ€μ΄ κ°ννκΈ° λλ¬Έμ΄λΌκ³ μκ°ν©λλ€.
μ μμ μΈλ±μ€λ₯Ό νμ©νκ³ λ¬Έμμ΄μ μͺΌκ°λ λ°μμΌλ‘ μ΄ λ¬Έμ μ μ κ·Όνλλ°, μμ ν ꡬννμ§λ λͺ»νμ΅λλ€. μ’μ μ½λλ€μ λΆμν¨μΌλ‘μ¨ λ§μ κ²μ μ»μ΄κ° μ μλ λ¬Έμ μμ΅λλ€.
μ λ μμ§ μλ£κ΅¬μ‘°μ μκ³ λ¦¬μ¦μ λν μ΄ν΄κ° λΆμ‘±νλ°, μ΄λ²μ μ½λ©ν μ€νΈλ₯Ό λ³Ό κΈ°νκ° μ겨 μΌλ¨ 무μμ 곡λΆλ₯Ό μμνκ² λμμ΅λλ€(γ γ )κ·Έλμ λ€λ₯Έ λΆλ€μ νμ΄λ₯Ό λΆμνλ©΄μ λ¬Έμ ν΄κ²°μ λ‘μ§κ³Ό νμ μμκ°λ λ°©μμΌλ‘ 곡λΆλ₯Ό μμνλ €κ³ ν©λλ€. νλ‘κ·Έλλ¨Έμ€μμ μ°Ύμ μ¬λ¬ νμ΄ λ°©λ²μ μκ°νκ³ , μλμ μμλλ‘ μ 리ν΄λ³΄μμ΅λλ€. μ°Έκ³ νμκΈ° λ°λλλ€.π
- μ κ° λλ¦λλ‘ μΆμΈ‘ν λ¬Έμ μ κ·Ό λ°©μ (π€)
- μ¬μ©λ λ©μλ λ° κΈ°μ (π)
- μκ²λ κ² (π‘)
'π©βπ»κ°λ°_TIL > μ½λ©ν μ€νΈ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
κ°μ°μ€μ μ¬λ¦ΌμΌλ‘ μμλ³Έ κ°μ°μ€ 곡μ (λ±μ°¨μμ΄μ ν©) (0) | 2022.01.27 |
---|---|
λ‘λμ μ΅κ³ μμμ μ΅μ μμ (0) | 2022.01.24 |