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 |