Jieunnyμ λΈλ‘κ·Έ
[JS] νλ‘κ·Έλλ¨Έμ€ - μ«μ μ§κΏ λ³Έλ¬Έ
π λ¬Έμ
λ μ μ X, Yμ μμμ μ리μμ 곡ν΅μΌλ‘ λνλλ μ μ k(0 ≤ k ≤ 9)λ€μ μ΄μ©νμ¬ λ§λ€ μ μλ κ°μ₯ ν° μ μλ₯Ό λ μμ μ§κΏμ΄λΌ ν©λλ€(λ¨, 곡ν΅μΌλ‘ λνλλ μ μ μ€ μλ‘ μ§μ§μ μ μλ μ«μλ§ μ¬μ©ν©λλ€). X, Yμ μ§κΏμ΄ μ‘΄μ¬νμ§ μμΌλ©΄, μ§κΏμ -1μ λλ€. X, Yμ μ§κΏμ΄ 0μΌλ‘λ§ κ΅¬μ±λμ΄ μλ€λ©΄, μ§κΏμ 0μ λλ€.
μλ₯Ό λ€μ΄, X = 3403μ΄κ³ Y = 13203μ΄λΌλ©΄, Xμ Yμ μ§κΏμ Xμ Yμμ 곡ν΅μΌλ‘ λνλλ 3, 0, 3μΌλ‘ λ§λ€ μ μλ κ°μ₯ ν° μ μμΈ 330μ
λλ€. λ€λ₯Έ μμλ‘ X = 5525μ΄κ³ Y = 1255μ΄λ©΄ Xμ Yμ μ§κΏμ Xμ Yμμ 곡ν΅μΌλ‘ λνλλ 2, 5, 5λ‘ λ§λ€ μ μλ κ°μ₯ ν° μ μμΈ 552μ
λλ€(Xμλ 5κ° 3κ°, Yμλ 5κ° 2κ° λνλλ―λ‘ λ¨λ 5 ν κ°λ μ§ μ§μ μ μμ΅λλ€.)
λ μ μ X, Yκ° μ£Όμ΄μ‘μ λ, X, Yμ μ§κΏμ returnνλ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
μ νμ¬ν
- 3 ≤ X, Yμ κΈΈμ΄(μλ¦Ώμ) ≤ 3,000,000μ λλ€.
- X, Yλ 0μΌλ‘ μμνμ§ μμ΅λλ€.
- X, Yμ μ§κΏμ μλΉν ν° μ μμΌ μ μμΌλ―λ‘, λ¬Έμμ΄λ‘ λ°νν©λλ€.
π‘ μμ΄λμ΄
X, Y κ°μ μ΄λ€ μ«μλ₯Ό κ°μ§κ³ μλμ§ λ°°μ΄μ κ°κ° μ μ₯νλ€.
λ λ°°μ΄ λͺ¨λ 0 λ³΄λ€ ν° μΈλ±μ€μΌ κ²½μ° λμμ κ°μ§κ³ μμΌλ―λ‘ λΉ λ°°μ΄μ λ£μ΄μ£Όλλ°, λ μμ κ°μλ₯Ό κ°μ§ λ°°μ΄μ κΈ°μ€μΌλ‘ ν΄μΌνλ―λ‘ λ κ°μ μ€ μμ κ°―μλ₯Ό min μ λ΄μ minλ§νΌ repeat μμΌμ€λ€.
κ°μ₯ ν° μλ₯Ό ꡬνλ κ²μ΄λ―λ‘ sortλ₯Ό μ¬μ©ν΄μ λ΄λ¦Όμ°¨μμΌλ‘ μ λ ¬νλ€.
λ΅μ΄ '0', '00', '000'... μ΄ λμ€λ κ²½μ°λ μκ°ν΄μΌ νλ€.
βοΈ νμ΄
function solution(X, Y) {
var answer = '';
let same = [];
let numberA = new Array(11);
numberA.fill(0);
let numberB = new Array(11);
numberB.fill(0);
// λ¬΄μ¨ μλ₯Ό κ°μ§κ³ μλμ§ κ°κ° λ΄μμ£ΌκΈ°.
for(let i=0; i<X.length; i++){
numberA[Number(X[i])] ++;
}
for(let i=0; i<Y.length; i++){
numberB[Number(Y[i])] ++;
}
// κ°μ μ«μλ₯Ό κ°μ§κ³ μμΌλ©΄ μ λ°°μ΄μ λ£μ΄μ€λ€.
for(let i=0; i<numberA.length; i++){
let min = numberA[i];
if(numberA[i] > 0 && numberB[i] > 0){
if(numberA[i] > numberB[i]){
min = numberB[i];
}
same.push(String(i).repeat(min));
}
}
// κ°μ μ«μκ° μλ κ²½μ°
if(same.length === 0){
return '-1';
}
same = same.join('');
same = [...same];
// λ΄λ¦Όμ°¨μμΌλ‘ μ 리
same = same.sort((a, b) => {
return b - a;
});
same = same.join('');
// '0', '00', '000'...μΈ κ²½μ° μκ°
if(Number(same) === 0){
same = '0'
}
return same;
}
'Study > Coding Test' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JS] νλ‘κ·Έλλ¨Έμ€ - ν€ν¨λ λλ₯΄κΈ° (2) | 2023.02.01 |
---|---|
[JS] νλ‘κ·Έλλ¨Έμ€ - κΈ°μ¬ λ¨μ (0) | 2023.02.01 |
[JS] νλ‘κ·Έλλ¨Έμ€ - 체μ‘볡 (0) | 2023.01.30 |
[JS] νλ‘κ·Έλλ¨Έμ€ - λͺ μμ μ λΉ(1) (0) | 2023.01.30 |
[JS] νλ‘κ·Έλλ¨Έμ€ - λ‘λμ μ΅κ³ μμμ μ΅μ μμ (0) | 2023.01.27 |