๊ฐ์ฅ ํฐ ์ ๋ฌธ์ ํ์ด
๋ฌธ์
๋ฌธ์ ์ด์ด๋ณด๊ธฐ
0 ๋๋ ์์ ์ ์๊ฐ ์ฃผ์ด์ก์ ๋, ์ ์๋ฅผ ์ด์ด ๋ถ์ฌ ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ํฐ ์๋ฅผ ์์๋ด ์ฃผ์ธ์.
์๋ฅผ ๋ค์ด, ์ฃผ์ด์ง ์ ์๊ฐ [6, 10, 2]๋ผ๋ฉด [6102, 6210, 1062, 1026, 2610, 2106]๋ฅผ ๋ง๋ค ์ ์๊ณ , ์ด์ค ๊ฐ์ฅ ํฐ ์๋ 6210์ ๋๋ค.
0 ๋๋ ์์ ์ ์๊ฐ ๋ด๊ธด ๋ฐฐ์ด numbers๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์์๋ฅผ ์ฌ๋ฐฐ์นํ์ฌ ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ํฐ ์๋ฅผ ๋ฌธ์์ด๋ก ๋ฐ๊พธ์ด return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- numbers์ ๊ธธ์ด๋ 1 ์ด์ 100,000 ์ดํ์ ๋๋ค.
- numbers์ ์์๋ 0 ์ด์ 1,000 ์ดํ์ ๋๋ค.
- ์ ๋ต์ด ๋๋ฌด ํด ์ ์์ผ๋ ๋ฌธ์์ด๋ก ๋ฐ๊พธ์ด return ํฉ๋๋ค.
์ ์ถ๋ ฅ ์
| numbers | return |
|---|---|
| [6, 10, 2] | 6210 |
| [3, 30, 34, 5, 9] | 9534330 |
ํ์ด
function solution(numbers) {
var sortNumbers = numbers.sort(sorted);
var answer = "";
for (var i = 0; i < sortNumbers.length; i++) {
if (answer === "0") {
continue;
}
answer += sortNumbers[i];
}
return answer;
}
function sorted(a, b) {
var caseA = "" + a + b;
var caseB = "" + b + a;
if (caseA > caseB) {
return -1;
}
return 1;
}
์ฒ์์ ๋จ์ํ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ์ ํ ๋ค ๊ฐ ์๋ฅผ ๋ฌธ์์ด๋ก ์ด์ด๋ถ์ด๋ฉด ๋๋์ค ์์์ง๋ง, [6, 1]์ ๋น๊ตํ์๋ 61 ์ด 16๋ณด๋ค ํฐ ์์ด๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฅํ๋ค. ํ์ง๋ง [6, 10]์ผ ๊ฒฝ์ฐ์๋ 106๋ณด๋ค 610์ด ํฌ๊ฒ๋๋ค. ์ฆ ์ญ์ ์๋ฆฌ, ๋ฐฑ์ ์๋ฆฌ ์๊ฐ ์๊ธธ์๋ก ๋จ์ํ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ๋ก๋ ๊ตฌ๋ถ์ ํ ์ ์๊ฒ๋๋ค.
๊ฐ๊ฐ์ ๋ ์๋ฅผ ์ ๋ค๋ก ์ด์ด ๋ถ์ฌ ๋น๊ตํ ๋ค, ๋ ํฐ ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๋ฉด ํด๊ฒฐ์ด ๊ฐ๋ฅํ๋ค.