๋ฌธ์ ๋งํฌ
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๊ฐ์ฅ ํฐ ์
0 ๋๋ ์์ ์ ์๊ฐ ์ฃผ์ด์ก์ ๋, ์ ์๋ฅผ ์ด์ด ๋ถ์ฌ ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ํฐ ์๋ฅผ ์์๋ด ์ฃผ์ธ์. ์๋ฅผ ๋ค์ด, ์ฃผ์ด์ง ์ ์๊ฐ [6, 10, 2]๋ผ๋ฉด [6102, 6210, 1062, 1026, 2610, 2106]๋ฅผ ๋ง๋ค ์ ์๊ณ , ์ด์ค ๊ฐ์ฅ ํฐ
programmers.co.kr
์ ๊ทผ ๋ฐฉ๋ฒ
์ฒ์์๋ ์์ด ํจ์๋ฅผ ์ด์ฉํ์ฌ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ฐฐ์ด์ ์ ์ฅํ๊ณ Math.max()๋ฅผ ํตํด ์ต๋๊ฐ์ ๊ตฌํ๋ ค ํ๋ค.
ํ์ง๋ง ๋งค์ฐ ๋นํจ์จ์ ์ด๊ณ ๋ฐํ์์ค๋ฅ๋ ๋ฐ์ํ์ฌ ๋ค๋ฅธํ์ด๋ฅผ ์ฐธ๊ณ ํ์ฌ ํ์๋ค.
์ฃผ์ด์ง ๋ฐฐ์ด์ ๋ฌธ์์ด๋ก ๋ง๋ค์ด ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ฉด ์ต๋๊ฐ์ด ๋ง๋ค์ด ์ง ์ ์๋๋ก ๋ฐฐ์ด์ด ์ ๋ ฌ๋๋ค.
numbers = [23, 232, 1, 649, 9, 91]; numbers.sort(strSort) // strSort๋ ์๋ ์ฝ๋ ์ฐธ๊ณ // 23223 23232 // 1232 2321 // 6491 1649 // 649232 232649 // 64923 23649 // 9232 2329 // 923 239 // 9649 6499 // 9123 2391 // 91649 64991 // 919 991 // number === [9, 91, 649, 23, 232, 1]โ
๊ณผ์ ์ a, b๋ฅผ ๋ฌธ์์ดํ ํ์ฌ ๋ํ๊ณ b - a๋ฅผ ํตํด ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ ๋ฐฉ์์ด๋ค.
("23" + "232" = "23232", "232" + "23" = "23223"), ("23223" - "23232" = -9)
// ์ฃผ์ด์ง ๋ฐฐ์ด์ "๋ฌธ์์ด"๋ก ๋ฐ๊ฟ์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ฉด ๋๋ค.
function solution(numbers) {
var answer = ""
answer = numbers.sort(strSort);
return answer[0] === 0 ? "0" : answer.join("")
}
const strSort = (a,b) =>{
const sumA = a.toString() + b.toString()
const sumB = b.toString() + a.toString()
return sumB - sumA
}
'์ฝ๋ฉํ ์คํธ > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Javascript] ์์ ์ฐพ๊ธฐ (42839) (0) | 2022.06.11 |
---|---|
[Javascript] ํ๊ฒ ๋๋ฒ (43165) (0) | 2022.06.11 |
[Javascript] ์์ ๋ง๋ค๊ธฐ (12977) (0) | 2022.06.10 |
[Javascript] 2016๋ (12901) (0) | 2022.06.06 |
[Javascript] ์์ ์ต๋ํ (67257) (0) | 2022.06.03 |