ํ’€์ด

๋ฌธ์ž์—ด ์ •๋ ฌ์˜ ์•„์ด๋””์–ด๋Š” ํ•ญ์ƒ ๊ฐ–๊ณ  ์žˆ๋Š”๊ฒŒ ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค. ์•ฝ๊ฐ„ ์Šคํ‚ฌ ์ ์ธ ์ธก๋ฉด์œผ๋กœ ์ž‘์šฉํ•˜๋Š”๋ฐ(~~~์ด๊ฑฐ ๋ฒ„๊ทธ์•„๋‹Œ๋ฐ ์Šค๋ผ๋ฆฐ๋ฐ~~~) ์Œ ์ผ๋‹จ ๋ณด์ž.

์ด ๋ฌธ์ œ๋Š” ๋ณด๋ฉด ํŠน์ง•์ด ์žˆ๋‹ค. ์ผ๋‹จ ๋‹ค ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ์ž˜๋ชป๋œ ๋ฐฉ๋ฒ•์ด๋‹ค. ์ˆœ์—ด์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์ด ๋‚˜์™€์„œ ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ ํŒฉํ† ๋ฆฌ์–ผ๋กœ ์ฆ๊ฐ€ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์–ด๋–ค ๋ฐฉ๋ฒ•์ด ์žˆ์„ ํ…๋ฐ, ๊ฒฐ๊ตญ ๊ทœ์น™์„ ์ฐพ์•„์•ผ๋งŒ ํ•œ๋‹ค. ์ด ๊ทœ์น™์€ ์ฐจ๊ทผ์ฐจ๊ทผ ํ•ด๋ณด๋ฉด ๋ถ„์„ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ‘ธ๋Š” ๋ฐฉ๋ฒ•์ด ๋ฌธ์ œ์ผ ๋ฟ.

์ผ๋‹จ ์•ž์ž๋ฆฌ๊ฐ€ ํฌ๋ฉด ์ข‹๋‹ค. ๊ทผ๋ฐ ๊ทธ๋Ÿฌ๋ฉด์„œ ๊ฐ’์ด ํฌ๋ฉด ๋˜๋ƒ? ๊ทธ๊ฑด ์•„๋‹ˆ๋‹ค. 3, 30์„ ๋น„๊ตํ•ด๋ณด๋ฉด 330์ด๋” ์ปค์„œ 3์ด ๋”์ปค์•ผ ํ•œ๋‹ค๋Š” ๊ฒฐ๋ก ์ด ๋‚˜์˜จ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ๊ฒฐ๊ตญ 3์ด 0๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ ํฌ๊ธฐ ๋•Œ๋ฌธ์— ๋” ์ปค์•ผ ํ•œ๋‹ค๋Š” ๊ฒฐ๋ก ์ด ๋‚˜์˜จ๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋ฅผ comp ๋กœ ์ •์˜ํ•ด์„œ ์ปค์Šคํ…€ ์ •๋ ฌ์„ ํ•˜๋ คํ–ˆ์œผ๋‚˜ ๋กœ์ง์ด ๋„ˆ๋ฌด ๋ณต์žกํ•ด์„œ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ–ˆ๋‹ค. ๊ทธ๋Ÿผ ์œ„์˜ ์ƒ๊ฐ์—์„œ ์ด๋ ‡๊ฒŒ ์ƒ๊ฐํ•ด๋„ ๋ฌด๋ฐฉํ• ์ง€ ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด๋ดค๋‹ค. 33, 30 ์ด๋Ÿฌ๋ฉด 33์ด ๋” ํฌ๋‹ค. 0๊ณผ 3์ด ๊ฐ™์€ ์ž๋ฆฌ์—์„œ ๋น„๊ต๊ฐ€ ๋˜๋‹ˆ๊นŒ. ๊ทธ๋Ÿผ 41, 430์€? 414 430. 430์ด ๋” ํฌ๋‹ค๋Š” ๊ฒฐ๋ก ์ด ๋‚˜์˜ค๊ณ  ์‹ค์ œ ๊ฐ’๋„ 430414๊ฐ€ 414430๋ณด๋‹ค ๋” ํฌ๋‹ค. ์ด๊ฒŒ ์ข‹์€ ๋ฐฉํ–ฅ์ธ ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์–ด๋””๊นŒ์ง€ ๋Š˜๋ ค์„œ ๋ฐ˜์˜ํ•ด์•ผ ํ• ๊นŒ. ์ผ๋‹จ 4์ž๋ฆฌ๋‹ˆ๊นŒ ๊ทธ ์ด์ƒ์œผ๋กœ ๋จน์—ฌ์„œ ์ •๋ ฌ์„ ํ•˜๊ฒŒ ํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋ž˜์„œ ์•„๋ž˜์˜ ํ’€์ด๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋˜์—ˆ๋‹ค. ๋งˆ์ง€๋ง‰์— ๊ผญ int๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ๋‹ค์‹œ str๋กœ ๋ณ€ํ™˜ํ•˜์ž. ์ด๊ฒŒ ์ˆซ์ž๋กœ ๊ฐ’์„ ๋น„๊ตํ•˜๋ผ๊ณ  ํ•œ ๊ฒƒ์ด๋ผ์„œ 0, 0, 0, 0 ์ด๋Ÿฐ์‹œ๊ธ๋กœ ๋“ค์–ด์˜ค๋ฉด ๋‹ต์ด 0000์ด ๋˜์–ด๋ฒ„๋ฆฐ๋‹ค. ์ฃผ์˜ํ•  ๊ฒƒ. ํ•ญ์ƒ 0์€ ์ˆซ์ž์—ฐ์‚ฐํ•  ๋•Œ ๊ณ ๋ฏผ์„ ํ•  ๋Œ€์ƒ์ด๋‹ค.

Code

def solution(numbers):
    # ๋‹ค ๋งŒ๋“œ๋Š” ๊ฑด ๋ฏธ์นœ ์ง“. 
    # ๋ฐฉ๋ฒ•์ด ์žˆ์„ ๊ฒƒ
    # ์ผ๋‹จ ์ฒซ๋ฒˆ์งธ, ์•ž์ž๋ฆฌ๊ฐ€ ํฌ๋ฉด ์ข‹๋‹ค.
    # ๊ธธ์ด๊ฐ€ ๊ธธ๋‹ค๊ณ  ํ•ด์„œ ์ข‹์€ ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค.
    # 3 30 ์ด๋ฉด 330 303์ด๋ผ์„œ ๋‹ค๋ฅด๋‹ค.
    # ์ฆ‰ ๋’ค์— ์ˆซ์ž๊ฐ€ ํ˜„์žฌ ๋น„๊ตํ•˜๊ณ  ์žˆ๋Š” ์•ž ์ˆซ์ž๋ณด๋‹ค ์ž‘์œผ๋ฉด ์–˜๋Š” ๊ธฐ๊ฐ
    # 3 -> 33 30 ์ด๋Ÿฐ์‹์œผ๋กœ ๋งŒ๋“ค์–ด์„œ ๋น„๊ตํ•˜๋ฉด ์–ด๋–จ๊นŒ
    # ๊ทธ๋Ÿผ ๊ทธ ๋’ค์˜ ์ˆซ์ž๊ฐ€ ๋ฐ˜์˜๋จ
    # 41 430
    # 4141 430430
    # 41430 43041
    # ์ฒ˜์Œ ์•ž ์ˆซ์ž์˜ ํฌ๊ธฐ๋ฅผ ๋’ค๊นŒ์ง€ ๋ฐ˜์˜ํ•ด ์ฃผ๊ธฐ ์œ„ํ•ด ์–˜๋ฅผ ์–ต์ง€๋กœ ๋Š˜๋ ค์ค˜์•ผ ํ•œ๋‹ค. ์–ด๋””๊นŒ์ง€?
    # 4444 45
    # 4444 4545
    # ์ƒ๊ฐํ•˜๊ธฐ ์‹ซ๋‹ค 5์ž๋ฆฌ๋กœ ํ•ด์„œ ๋น„๊ตํ•˜์ž.
    numbers = list(map(str, numbers))
    numbers = sorted(numbers, key=lambda x: (x*5)[:5], reverse=True)
    answer = str(int("".join(numbers))) # ์ˆซ์ž๋‹ˆ๊นŒ ๋งŒ์•ฝ์— 0000์ด๋ ‡๊ฒŒ๋˜๋ฉด ๋‹ต ํ‹€๋ฆฐ๋‹ค.
    return answer