๐ป
[ํ๋ก๊ทธ๋๋จธ์ค] ์ฝ๋ฉํ ์คํธ ์ฐ์ต | ์๊ณ ๋ฆฌ์ฆ ๊ณ ๋์ KIT > ์ ๋ ฌ > ๊ฐ์ฅ ํฐ ์ ๋ณธ๋ฌธ
์๊ณ ๋ฆฌ์ฆ/๊ธฐ์ด๋ค์ง๊ธฐ
[ํ๋ก๊ทธ๋๋จธ์ค] ์ฝ๋ฉํ ์คํธ ์ฐ์ต | ์๊ณ ๋ฆฌ์ฆ ๊ณ ๋์ KIT > ์ ๋ ฌ > ๊ฐ์ฅ ํฐ ์
๋ํจ๋ 2024. 10. 23. 17:46https://school.programmers.co.kr/learn/courses/30/lessons/42746
LV2. ๊ฐ์ฅ ํฐ ์
๐ก์์ด๋์ด
์์ ) numbers = [3, 30, 34, 5, 9]
๋ด๋ฆผ์ฐจ์์ผ๋ก sort() ์ฌ์ฉํ ์๊ฐ์ ํ๋๋ฐ 9 > 5> 3 ์ดํ 3, 30, 34 ๋ฅผ ์ด๋ป๊ฒ ํ ์ง๊ฐ ๊ณ ๋ฏผ์ด์๋ค.
์ฒ์์๋ ์ฒซ๋ฒ์งธ ์๋ฆฌ๊ฐ ๊ฐ์ ์ซ์์ผ ๋, ๋ค์๋ฒ์งธ ์๋ฆฌ์๋ก ๋น๊ตํ ๊น๋ ์๊ฐํ๋๋ฐ ๊ตฌํ์ด ๊น๋ค๋กญ๊ณ ๋ณต์กํ๋ค.
์ด ๋ฌธ์ ๋ ์๋ฆฌ์๋ฅผ ๋ง์ถฐ์ ๋น๊ตํ๋๊ฒ ์์ด๋์ด์ ํต์ฌ์ด์๋ค.
๋ฌธ์ ์์ numbers๋ 0 ์ด์ 1,000 ์ดํ์ด๋ฏ๋ก ์ต๋ 4์๋ฆฌ๋ฅผ ๊ฐ๋๋ค.
๋ฐ๋ผ์, 4์๋ฆฌ์ ๋งํผ ์ซ์๋ฅผ ๋ฐ๋ณตํ์ฌ ์๋ฆฌ์๋ฅผ ๋ง์ถ ํ ๋น๊ตํ๋ค.
ex. 3 -> 3333, 30 -> 3030, 34 -> 3434, 5 -> 5555, 9 -> 9999 ๋ณํํ์ฌ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํ๋ฉด 9534330 ์ ์ํ๋ ๊ฒฐ๊ณผ๊ฐ ๋์จ๋ค.
๐ป ์ฝ๋์์ฑ
# ex. 6, 10, 2
# 6666, 1010, 2222
# ex. 3, 30, 34, 5, 9
# 3333, 3030, 3434, 5555, 9999
def solution(numbers):
answer = ''
# 1. ๋ฌธ์๋ก ๋ณํ
numbers = list(map(str, numbers))
# print(numbers)
# 2. 4์๋ฆฌ์๋ก ๋ณ๊ฒฝ
# sort()๋ ์๋ณธ ์์ฒด๋ฅผ ์ ๋ ฌ์์ผ ์ค๋ค.
# numbers.sort(key=lambda x: (x * 4)[:4], reverse=True)
# sorted()๋ ์๋ณธ์ ๋ณํ์ํค์ง ์๊ณ ์๋ก์ด list๋ฅผ ๋ฐํํ๋ค
numbers = sorted(numbers, key=lambda x: (x *4)[:4], reverse=True)
# 3. ๋ฌธ์ ํฉ์น๋ค
# 0000์ ๊ฒฝ์ฐ 0 ์ถ๋ ฅ. int๋ณํ ํ ๋ค์ str๋ก ํ๋ณํ
answer = str(int("".join(numbers)))
return answer
๋ฐ์ํ
'์๊ณ ๋ฆฌ์ฆ > ๊ธฐ์ด๋ค์ง๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Comments