2 min read

[Level 2] ๊ฐ€์žฅ ํฐ ์ˆ˜ - ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต

Table of Contents

๊ฐ€์žฅ ํฐ ์ˆ˜ ๋ฌธ์ œ ํ’€์ด

๋ฌธ์ œ

๋ฌธ์ œ ์—ด์–ด๋ณด๊ธฐ

0 ๋˜๋Š” ์–‘์˜ ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ •์ˆ˜๋ฅผ ์ด์–ด ๋ถ™์—ฌ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ ์•Œ์•„๋‚ด ์ฃผ์„ธ์š”.

์˜ˆ๋ฅผ ๋“ค์–ด, ์ฃผ์–ด์ง„ ์ •์ˆ˜๊ฐ€ [6, 10, 2]๋ผ๋ฉด [6102, 6210, 1062, 1026, 2610, 2106]๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ณ , ์ด์ค‘ ๊ฐ€์žฅ ํฐ ์ˆ˜๋Š” 6210์ž…๋‹ˆ๋‹ค.

0 ๋˜๋Š” ์–‘์˜ ์ •์ˆ˜๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด numbers๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์ˆœ์„œ๋ฅผ ์žฌ๋ฐฐ์น˜ํ•˜์—ฌ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊พธ์–ด return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.

์ œํ•œ์‚ฌํ•ญ

  • numbers์˜ ๊ธธ์ด๋Š” 1 ์ด์ƒ 100,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค.
  • numbers์˜ ์›์†Œ๋Š” 0 ์ด์ƒ 1,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค.
  • ์ •๋‹ต์ด ๋„ˆ๋ฌด ํด ์ˆ˜ ์žˆ์œผ๋‹ˆ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊พธ์–ด return ํ•ฉ๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

numbersreturn
[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์ด ํฌ๊ฒŒ๋œ๋‹ค. ์ฆ‰ ์‹ญ์˜ ์ž๋ฆฌ, ๋ฐฑ์˜ ์ž๋ฆฌ ์ˆ˜๊ฐ€ ์ƒ๊ธธ์ˆ˜๋ก ๋‹จ์ˆœํ•œ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ๋กœ๋Š” ๊ตฌ๋ถ„์„ ํ•  ์ˆ˜ ์—†๊ฒŒ๋œ๋‹ค.

๊ฐ๊ฐ์˜ ๋‘ ์ˆ˜๋ฅผ ์•ž ๋’ค๋กœ ์ด์–ด ๋ถ™์—ฌ ๋น„๊ตํ•œ ๋’ค, ๋” ํฐ ์ˆ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•˜๋ฉด ํ•ด๊ฒฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.