Jieunnyμ λΈλ‘κ·Έ
[JS] νλ‘κ·Έλλ¨Έμ€ - νν λ³Έλ¬Έ
π λ¬Έμ
μ μμλ μλμ μμμλ μ΄κ±° λλ μ΄λ€ μμλ₯Ό λ°λ₯΄λ μμλ€μ λͺ¨μμ νν(tuple)μ΄λΌκ³ ν©λλ€. nκ°μ μμλ₯Ό κ°μ§ ννμ n-νν(n-tuple)μ΄λΌκ³ νλ©°, λ€μκ³Ό κ°μ΄ ννν μ μμ΅λλ€.
- (a1, a2, a3, ..., an)
ννμ λ€μκ³Ό κ°μ μ±μ§μ κ°μ§κ³ μμ΅λλ€.
- μ€λ³΅λ μμκ° μμ μ μμ΅λλ€. ex : (2, 3, 1, 2)
- μμμ μ ν΄μ§ μμκ° μμΌλ©°, μμμ μμκ° λ€λ₯΄λ©΄ μλ‘ λ€λ₯Έ ννμ λλ€. ex : (1, 2, 3) ≠ (1, 3, 2)
- ννμ μμ κ°μλ μ νν©λλ€.
μμμ κ°μκ° nκ°μ΄κ³ , μ€λ³΅λλ μμκ° μλ νν (a1, a2, a3, ..., an)μ΄ μ£Όμ΄μ§ λ(λ¨, a1, a2, ..., anμ μμ°μ), μ΄λ λ€μκ³Ό κ°μ΄ μ§ν© κΈ°νΈ '{', '}'λ₯Ό μ΄μ©ν΄ ννν μ μμ΅λλ€.
- {{a1}, {a1, a2}, {a1, a2, a3}, {a1, a2, a3, a4}, ... {a1, a2, a3, a4, ..., an}}
μλ₯Ό λ€μ΄ ννμ΄ (2, 1, 3, 4)μΈ κ²½μ° μ΄λ
- {{2}, {2, 1}, {2, 1, 3}, {2, 1, 3, 4}}
μ κ°μ΄ ννν μ μμ΅λλ€. μ΄λ, μ§ν©μ μμμ μμκ° λ°λμ΄λ μκ΄μμΌλ―λ‘
- {{2}, {2, 1}, {2, 1, 3}, {2, 1, 3, 4}}
- {{2, 1, 3, 4}, {2}, {2, 1, 3}, {2, 1}}
- {{1, 2, 3}, {2, 1}, {1, 2, 4, 3}, {2}}
λ λͺ¨λ κ°μ νν (2, 1, 3, 4)λ₯Ό λνλ λλ€.
νΉμ ννμ νννλ μ§ν©μ΄ λ΄κΈ΄ λ¬Έμμ΄ sκ° λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, sκ° νννλ ννμ λ°°μ΄μ λ΄μ return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
[μ νμ¬ν]
- sμ κΈΈμ΄λ 5 μ΄μ 1,000,000 μ΄νμ λλ€.
- sλ μ«μμ '{', '}', ',' λ‘λ§ μ΄λ£¨μ΄μ Έ μμ΅λλ€.
- μ«μκ° 0μΌλ‘ μμνλ κ²½μ°λ μμ΅λλ€.
- sλ νμ μ€λ³΅λλ μμκ° μλ ννμ μ¬λ°λ₯΄κ² νννκ³ μμ΅λλ€.
- sκ° νννλ ννμ μμλ 1 μ΄μ 100,000 μ΄νμΈ μμ°μμ λλ€.
- return νλ λ°°μ΄μ κΈΈμ΄κ° 1 μ΄μ 500 μ΄νμΈ κ²½μ°λ§ μ λ ₯μΌλ‘ μ£Όμ΄μ§λλ€.
π‘ μμ΄λμ΄
μΌλ¨ sλ₯Ό μ«μ μμλ§ λ΄κΈ΄ λ°°μ΄λ‘ λ§λ€κ³ , κΈΈμ΄ κΈ°μ€μΌλ‘ μ€λ¦μ°¨μμΌλ‘ μ λ ¬νλ€.
μμ κ°μκ° 1μΈ μ§ν©μ΄ ννμ μ μΌ μ²μ μμλ₯Ό λ΄κ³ μκ³ , 2μΈ μ§ν©μ κ·Έ λ€μ μμλ₯Ό λ΄κ³ μλ€.
κ·Έ λ°°μ΄μ λλ©΄μ λΉ λ°°μ΄μ λ£μ΄μ€λ€.
κ·Έ λ°°μ΄μ μμλ€μ λ§μ§λ§μ Numberλ‘ λ°κΏμ€μΌνλ€.
βοΈ νμ΄
function solution(s) {
var answer = [];
s = s.replace(/{/g, '').split('}').sort((a, b) => a.length - b.length).filter((a) => a !== '');
s = s.map((a) => {
if(a[0] === ','){
a = a.replace(',', '');
}
return a.split(',');
})
let count = [];
s.map((a) => {
a.map((b) => {
if(!count.includes(b)){
count.push(b);
}
})
})
answer = count.map((a) => Number(a));
return answer;
}
β° forλ³΄λ€ map, filter λ©μλκ° ν¨μ¬ κ°λ¨νλ° forλ¬Έλ³΄λ€ λ μ΅μν΄μ μ μ°μ§ μκ² λλ€. μ νμ©ν μ μλλ‘ μ΅μν΄μ ΈμΌμ§.
'Study > Coding Test' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JS] νλ‘κ·Έλλ¨Έμ€ - κΈ°λ₯ κ°λ° (0) | 2023.03.02 |
---|---|
[JS] νλ‘κ·Έλλ¨Έμ€ - n^2 λ°°μ΄ μλ₯΄κΈ° (0) | 2023.02.28 |
[JS] νλ‘κ·Έλλ¨Έμ€ - κ·€ κ³ λ₯΄κΈ° (0) | 2023.02.28 |
[JS] νλ‘κ·Έλλ¨Έμ€ - μμ₯ (0) | 2023.02.27 |
[JS] νλ‘κ·Έλλ¨Έμ€ - νλ ¬μ κ³±μ (0) | 2023.02.27 |