
๋ ์ ์ 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 ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
X, Y์ ๊ธธ์ด(์๋ฆฟ์) โค 3,000,000์
๋๋ค.X, Y๋ 0์ผ๋ก ์์ํ์ง ์์ต๋๋ค.X, Y์ ์ง๊ฟ์ ์๋นํ ํฐ ์ ์์ผ ์ ์์ผ๋ฏ๋ก, ๋ฌธ์์ด๋ก ๋ฐํํฉ๋๋ค.| X | Y | result | 
|---|---|---|
| "100" | "2345" | "-1" | 
| "100" | "203045" | "0" | 
| "100" | "123450" | "10" | 
| "12321" | "42531" | "321" | 
| "5525" | "1255" | "552" | 
์ ์ถ๋ ฅ ์ #1
X, Y์ ์ง๊ฟ์ ์กด์ฌํ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ "-1"์ returnํฉ๋๋ค.์ ์ถ๋ ฅ ์ #2
X, Y์ ๊ณตํต๋ ์ซ์๋ 0์ผ๋ก๋ง ๊ตฌ์ฑ๋์ด ์๊ธฐ ๋๋ฌธ์, ๋ ์์ ์ง๊ฟ์ ์ ์ 0์
๋๋ค. ๋ฐ๋ผ์ "0"์ returnํฉ๋๋ค.์ ์ถ๋ ฅ ์ #3
X, Y์ ์ง๊ฟ์ 10์ด๋ฏ๋ก, "10"์ returnํฉ๋๋ค.์ ์ถ๋ ฅ ์ #4
X, Y์ ์ง๊ฟ์ 321์
๋๋ค. ๋ฐ๋ผ์ "321"์ returnํฉ๋๋ค.์ ์ถ๋ ฅ ์ #5
function solution(X, Y) {
    let answer = ''
    X = X.split("")
    Y = Y.split("")
    // ํด๋น ์ซ์๊ฐ ์ผ๋ง๋ ์๋์ง ํ์ธํด์ ๋ ๋ฎ์๋งํผ ์ ๋ต ๋ฌธ์์ด์ ๋ํจ
    for(let i = 0 ; i < 10 ; i ++) {
        const curX = X.filter(a => Number(a) === i).length
        const curY = Y.filter(a => Number(a) === i).length
        answer+=String(i).repeat(Math.min(curX, curY))
    }
    if(answer === '') return "-1"
    if(Number(answer) === 0) return "0"
    // ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํด ๋ฐํํ๋ฉด ์ต๋๊ฐ
    return answer.split("").sort((a,b) => Number(b)-Number(a)).join("")
}
์ด๋ฏธ ์๊ณ ๊ณ์ค ๊ฒ ๊ฐ์๋ฐ ๊ฐ์ ์ฝ๋ ๋จ๊น๋๋ค!
๋ฐ๋ณต๋ฌธ์ ์ฒ์๋ถํฐ ํฐ์ซ์๋ก ์์ํ๋ฉด
๋ฆฌํดํ ๋ sort๋ฅผ ์ฌ์ฉํ์ง ์์๋ ๋๋ ์ฑ๋ฅํฅ์์ ๋์๋ ๊ฒ ๊ฐ์ต๋๋ค.
for (let i = 9; i >= 0; i--) { ... }
return answer;