๋ฌธ์
0 ๋๋ ์์ ์ ์๊ฐ ์ฃผ์ด์ก์ ๋, ์ ์๋ฅผ ์ด์ด ๋ถ์ฌ ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ํฐ ์๋ฅผ ์์๋ด ์ฃผ์ธ์.
์๋ฅผ ๋ค์ด, ์ฃผ์ด์ง ์ ์๊ฐ [6, 10, 2]๋ผ๋ฉด [6102, 6210, 1062, 1026, 2610, 2106]๋ฅผ ๋ง๋ค ์ ์๊ณ , ์ด์ค ๊ฐ์ฅ ํฐ ์๋ 6210์ ๋๋ค.
0 ๋๋ ์์ ์ ์๊ฐ ๋ด๊ธด ๋ฐฐ์ด numbers๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์์๋ฅผ ์ฌ๋ฐฐ์นํ์ฌ ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ํฐ ์๋ฅผ ๋ฌธ์์ด๋ก ๋ฐ๊พธ์ด return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ ์ฌํญ
- numbers์ ๊ธธ์ด๋ 1 ์ด์ 100,000 ์ดํ์ ๋๋ค.
- numbers์ ์์๋ 0 ์ด์ 1,000 ์ดํ์ ๋๋ค.
- ์ ๋ต์ด ๋๋ฌด ํด ์ ์์ผ๋ ๋ฌธ์์ด๋ก ๋ฐ๊พธ์ด return ํฉ๋๋ค.
์ ์ถ๋ ฅ ์
[6, 10, 2] | "6210" |
[3, 30, 34, 5, 9] | "9534330" |
ํด์ค ์ฝ๋
def solution(numbers):
# str ํํ์ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ ๋ค
num = list(map(str,numbers))
# num์ ์ต๋ 1000์ด๊ธฐ ๋๋ฌธ์ ์ธ์๋ฅผ ๋ง์ถฐ์ฃผ๊ธฐ ์ํด 3์ ๊ณฑํ๋ค
num.sort(key = lambda x: x * 3, reverse = True)
# '000'์ด ๋ต์ธ ๊ฒฝ์ฐ '0'์ผ๋ก ๋ฐ๊ฟ์ฃผ๊ธฐ ์ํด ์ ์๋ก ๋ฐ๊พผ ๋ค ๋ค์ ๋ฌธ์์ด๋ก ๋ณํํ๋ค.
return str(int(''.join(num)))
๋ถ์ > ์ด ์ฝ๋์์์ ํคํฌ์ธํธ๋ ์์ x๋ฅผ ์์์ ์ต๋ ํฌ๊ธฐ์ธ 1000์ ๋ง์ถ๊ธฐ ์ํด lambda ํจ์๋ฅผ ์ฌ์ฉํด 3์ ๊ณฑํด์ค ๊ฒ์ด๋ค. ์๋ฅผ ๋ค์ด 3 ๊ณผ 30 ์ด ์์ ๋ ์ค์ ๋ก๋ 30์ด 3๋ณด๋ค ํฌ์ง๋ง ์ด ๋ฌธ์ ์์๋ 3 ์ด 30 ๋ณด๋ค ์ปค์ผ ํ๊ธฐ ๋๋ฌธ์ '333' ๊ณผ '303030' ์ผ๋ก ๋ฐ๊พธ์ด์ฃผ๋ ๊ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฅผ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํด์ฃผ๋ฉด ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ต์ด '000' ์ธ ๊ฒฝ์ฐ๋ ์์ผ๋ฏ๋ก ์ด๋ 0์ผ๋ก ๋ฐ๊ฟ ์ถ๋ ฅํ๊ธฐ ์ํด ์ ์ํ์ผ๋ก ํ ๋ฒ ๋ฐ๊ฟ์ค ํ์ ๋ค์ ๋ฌธ์์ด๋ก ๋ณํ์ํค๋ฉด ๋๋ค.
'Algorithm > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Programmeres] ์ ์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐฐ์นํ๊ธฐ (0) | 2022.04.10 |
---|---|
[Programmers] ์ต๋๊ณต์ฝ์์ ์ต์๊ณต๋ฐฐ์ (0) | 2022.04.09 |
[Programmers] ํฐ ์ ๋ง๋ค๊ธฐ (0) | 2022.04.09 |
[Progammers] ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ - ์ฒด์ก๋ณต (0) | 2022.04.01 |
Lv 1. ๋ชจ์๊ณ ์ฌ (0) | 2022.02.27 |