๋ฌธ์ ์ค๋ช
0 ๋๋ ์์ ์ ์๊ฐ ์ฃผ์ด์ก์ ๋, ์ ์๋ฅผ ์ด์ด ๋ถ์ฌ ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ํฐ ์๋ฅผ ์์๋ด ์ฃผ์ธ์.
์๋ฅผ ๋ค์ด, ์ฃผ์ด์ง ์ ์๊ฐ [6, 10, 2]๋ผ๋ฉด [6102, 6210, 1062, 1026, 2610, 2106]๋ฅผ ๋ง๋ค ์ ์๊ณ , ์ด์ค ๊ฐ์ฅ ํฐ ์๋ 6210์ ๋๋ค.
0 ๋๋ ์์ ์ ์๊ฐ ๋ด๊ธด ๋ฐฐ์ด numbers๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์์๋ฅผ ์ฌ๋ฐฐ์นํ์ฌ ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ํฐ ์๋ฅผ ๋ฌธ์์ด๋ก ๋ฐ๊พธ์ด return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ ์ฌํญ
- numbers์ ๊ธธ์ด๋ 1 ์ด์ 100,000 ์ดํ์ ๋๋ค.
- numbers์ ์์๋ 0 ์ด์ 1,000 ์ดํ์ ๋๋ค.
- ์ ๋ต์ด ๋๋ฌด ํด ์ ์์ผ๋ ๋ฌธ์์ด๋ก ๋ฐ๊พธ์ด return ํฉ๋๋ค.
์ ์ถ๋ ฅ ์
ํ์ด ์ฝ๋
def solution(numbers):
numbers = sorted(list(map(str, numbers)), reverse=True, key=lambda x:x*3)
return str(int(''.join(numbers)))
ํต์ฌ์ ์ธ ์์ด๋์ด๊ฐ ์์ผ๋ฉด ํ์ดํ๊ธฐ ์ด๋ ต๋ค.
์ฐ์ , ๋ฌธ์์ด์ ์ฌ์ ์ ์ ๋ ฌ์ ํ๊ฒ ๋๋ฉด ์ ์๋ฆฌ ์๊ฐ ๋์ ์๋ก ์ ๋ ฌ์ด ๊ฐ๋ฅํ๋ค.
๋ฌธ์ ๋, 30๊ณผ 3์ ์์์ด๋ค. 303์ด ์๋๋ผ, 330์ด ๋์ด์ผ ํ๋๋ฐ reverse = True๋ฅผ ์ ์ฉํ๋ฉด 303์ด ๋๋ค.
๊ทธ๋ ๋ค๊ณ reverse๋ฅผ ์ฃผ์ง ์์ผ๋ฉด ์ค๋ฆ์ฐจ์ ์ ๋ ฌ์ด ๋๊ธฐ ๋๋ฌธ์ 1์ด 9๋ณด๋ค ๋จผ์ ๋์ฌ ๊ฒ์ด๋ค.
์ฌ๊ธฐ์ ํต์ฌ ํค์๋๋,
- numbers์ ์์๋ 0 ์ด์ 1,000 ์ดํ์ ๋๋ค.
์ด ์กฐ๊ฑด์ด๋ค.
๋ง์ฝ์ ํค๋ฅผ, ํด๋น ๋ฌธ์์ด์ 3๋ฒ ๋ณต์ฌํ ๊ฒ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ์ ํ๋ค๊ณ ์น์.
32์ 3์, '323232'์ '333'์ ๋น๊ตํ๋ค.
๋ด๋ฆผ์ฐจ์ ์ฌ์ ์ ์ ๋ ฌ์ ํ๋ค๋ฉด, ๋ ๋ฒ์งธ ์๋ฆฌ์ 3์ด ๋ ํฌ๋ฏ๋ก 3์ด 32๋ณด๋ค ์์ผ๋ก ์ค๊ฒ ๋๋ค.
34์ 3์, '343434'์ '333'์ ๋น๊ตํ๋ฉด,
๋ ๋ฒ์งธ ์๋ฆฌ์ '4'๊ฐ ๋ ํฌ๋ฏ๋ก 34๊ฐ 3์ ์์ผ๋ก ์ค๊ฒ ๋๋ค.
๋ฐ๋ผ์ ๊ธฐ์กด์ ์ ๋ ฌํ๋ ค๊ณ ํ๋ ๋ฐฉํฅ์ ๋ชจ๋ ์งํค๋ฉด์ ์ ๋ ฌ์ด ๊ฐ๋ฅํ๋ค.
'๐ ์ฝ๋ฉํ ์คํธ ๋๋น : PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ ์ฐพ๊ธฐ (level2, python) (0) | 2022.09.20 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ฒ ์คํธ์จ๋ฒ (level3, python) (0) | 2022.09.20 |
[ํ๋ก๊ทธ๋๋จธ์ค] 2xn ํ์ผ๋ง (level2, python) (0) | 2022.09.19 |
[ํ๋ก๊ทธ๋๋จธ์ค] 2๊ฐ ์ดํ๋ก ๋ค๋ฅธ ๋นํธ (level2, python) (0) | 2022.09.19 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ (level2, python) (0) | 2022.09.19 |