๋ณธ๋ฌธ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

42746. ๊ฐ€์žฅ ํฐ ์ˆ˜

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๊ฐ€์žฅ ํฐ ์ˆ˜


๋ฌธ์ œ ์œ ํ˜•๋‚œ์ด๋„๊ฑธ๋ฆฐ ์‹œ๊ฐ„ํ•ด๊ฒฐ ์œ ๋ฌด(โœ…/โŒ)
์ •๋ ฌlv.21์‹œ๊ฐ„โœ…

์„ค๊ณ„ ๋ฐฉ๋ฒ•#

  • numbers ๋ฐฐ์—ด์„ ๋‘ ์ˆซ์ž๋ฅผ ์•ž, ๋’ค๋กœ ์ด์–ด ๋ถ™์—ฌ ์ˆซ์ž๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๊ณ , ๋‘˜ ์ค‘ ๊ฒฐ๊ณผ๊ฐ€ํฐ์ˆœ์„œ๋กœ ์ •๋ ฌํ•œ๋‹ค.

  • ์ •๋ ฌํ•œ ๊ฒฐ๊ณผ๋ฅผ join ํ•จ์ˆ˜๋กœ ๋ฌธ์ž์—ด๋กœ ๋งŒ๋“ ๋‹ค.

  • ์ •๋ ฌ ํ•œ ํ›„ ๊ฒฐ๊ณผ์˜ ์ฒซ ๋ฒˆ์งธ ๊ธ€์ž๊ฐ€ 0 ์ด๋ผ๋ฉด ๋ชจ๋“  ์ˆซ์ž๊ฐ€ 0์ธ ๊ฒฝ์šฐ ๋ฐ–์— ์—†๊ธฐ ๋•Œ๋ฌธ์—, ๊ทธ๋Œ€๋กœ 0์„ ๋ฆฌํ„ดํ•˜๊ณ , ์•„๋‹ˆ๋ผ๋ฉด ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค.

์ฝ”๋“œ#

function solution(numbers) {    const result = numbers.sort((a, b) => `${b}${a}` - `${a}${b}`).join('');    return result[0] === '0' ? '0' : result;}

์‹œ๊ฐ„ ๋ณต์žก๋„#

  • O(NlogN)

์–ด๋ ค์› ๋˜ ์ #

  • ์ฒ˜์Œ์—๋Š” ์ˆœ์—ด๋กœ ์ ‘๊ทผ, ์ˆœ์—ด์€ ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ O(2^N), ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ ๋ฐ core dumped ์—๋Ÿฌ ๋ฐœ์ƒ

  • ๋‘ ๋ฒˆ์งธ๋กœ๋Š” ์ˆซ์ž์˜ ๋งˆ์ง€๋ง‰ ์ˆซ์ž๋ฅผ ๋Š˜์–ด๋œจ๋ฆฌ๊ณ  ์ •๋ ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ•จ.

    • ex) 1 โ‡’ 1111, 10 โ‡’ 1000, 9 โ‡’ 9999, 98 โ‡’ 9888

    • ๋ฐ˜๋ก€) 40, 403 โ‡’ 40403, (40340 x)

์ฐธ๊ณ ์ž๋ฃŒ#