[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค-Lv2] ๊ฐ€์žฅ ํฐ ์ˆ˜ / Python

๐Ÿ“š Problem Solving/Programmers

 

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

0 ๋˜๋Š” ์–‘์˜ ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ •์ˆ˜๋ฅผ ์ด์–ด ๋ถ™์—ฌ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ ์•Œ์•„๋‚ด ์ฃผ์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ฃผ์–ด์ง„ ์ •์ˆ˜๊ฐ€ [6, 10, 2]๋ผ๋ฉด [6102, 6210, 1062, 1026, 2610, 2106]๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ณ , ์ด์ค‘ ๊ฐ€์žฅ ํฐ

programmers.co.kr

import sys

input = sys.stdin.readline
numbers = list(map(int, input().split()))


def solution(numbers):
    numbers = list(map(str, numbers))
    numbers.sort(key=lambda x: x * 3, reverse=True)
    return str(int("".join(numbers)))


print(solution(numbers))

 

ํ•ด์„ค

์ด ๋ฌธ์ œ์—์„œ ๊ฐ€์žฅ ํ•ต์‹ฌ์ธ ๋ถ€๋ถ„์€ x*3์ด๋‹ค. ์›์†Œ๊ฐ€ 1000 ์ดํ•˜์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ž๋กœ ๋ณ€ํ™˜๋œ ์›์†Œ๋“ค์„ 3๋ฒˆ ๋ฐ˜๋ณตํ•ด ๊ฐ’์„ ๋น„๊ตํ•˜์—ฌ ์ •๋ ฌํ•œ๋‹ค.

 

int๋กœ ํ˜•๋ณ€ํ™˜์„ ํ•˜๊ณ  ๋‹ค์‹œ str๋กœ ํ˜•๋ณ€ํ™˜์„ ํ•ด์ฃผ๋Š” ์ด์œ ๋Š” ๋ชจ๋“  ์›์†Œ๊ฐ€ 0์ผ ๋•Œ 0์œผ๋กœ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค.