๐ธ ๋ฌธ์ ํด๊ฒฐ ๋ฐฉํฅ
- ๋ฌธ์์ด ์ฒ๋ฆฌ๋ฅผ ํตํด ํ์ด์ผํ๋ค.
- ๋ฌธ์์ด ๋น๊ต๊ฐ ์ด๋ป๊ธฐ ์ด๋ฃจ์ด์ง๋์ง ์์งํ ๊ฒ
- ๋ฌธ์์ด ๊ณฑ์ ์ ์ํํ ๋ค ๋น๊ตํ ์ด์ ๋?
- ๋ฌธ์์ด ๋น๊ต → ์ซ์ ๋ณํ → ๋ฌธ์์ด ๋ณํ ํ ๋ฐํ
- ์ซ์๋ก ๋ฐ๊พธ์ด ์ฃผ์ง ์์ ์ ๋ฐ์ํ๋ ๋ฌธ์ ๋?
๋ฌธ์ ์ ๊ทผ
- ๋ฆฌ์คํธ ์ ๋ ฌ ๊ธฐ๋ฅ ์ด์ฉํ๊ธฐ
์ฒ์ ์๋๋ ๋ฆฌ์คํธ ์ ๋ ฌ ๊ธฐ๋ฅ์ ์ด์ฉํ๋ค.
์ ๋ ฌ ์ ๊ธฐ์ค์ด ๋๋ key ๊ฐ์ ๋ฌธ์์ด์ ์ฒซ ๋ฒ์งธ ๊ฐ์ผ๋ก ์ค์ ํ๋ค.
์ฒซ์งธ์๋ฆฌ์๊ฐ ๊ฐ์ฅ ํด ๊ฒฝ์ฐ ์ ์ชฝ์ ๋ฐฐ์น๋๋ค.
โ ์ฒซ์งธ ์๋ฆฌ ์๊ฐ ๊ฐ์ ๊ฒฝ์ฐ ๋ฐ์
- 5์ 50์ ์ด๋ป๊ฒ ๋น๊ตํ ๊น? → ์ ๋ ฌ ์ 2๋ฒ์งธ ๊ธฐ์ค์ ๋ฌธ์์ด ๊ธธ์ด๋ก ์ค์ ํ๋ค.
- ๋์งธ ์๋ฆฌ ์๊ฐ ๊ฐ์ ๊ฒฝ์ฐ ๋ฌธ์์ด ๊ธธ์ด๊ฐ ์งง์ ์ชฝ์ด ์์ ๋ฐฐ์น๋๋ค.
โ ๊ทธ๋ผ 5, 56, 3์ ๊ฒฝ์ฐ๋ ์ด๋จ๊น? → ์ ๋ ฌ ์ 2๋ฒ์งธ ๊ธฐ์ค
- 56, 5, 3์ด ๋์ด์ผ ํ๋ค.
์ฒ์์ ๋ฌธ์๋ฅผ ์ซ์๋ก ๋ณํํ ๋ค ๋น๊ต๋ฅผ ์ํํ๋๋ก ์ ๊ทผํ๋ค.
์ด ๊ฒฝ์ฐ ๋ฌธ์ ๋ ํ์ด๊ฐ ๋๋ฌด ๋ณต์กํด์ก๋ค.
- ๋ฌธ์์ด ๋น๊ต ์ํ
๋ณธ๋ ์ด ๋ฌธ์ ์ ์ทจ์ง๋ ๋ฌธ์์ด ๋น๊ต ๊ท์น์ ์์งํ๊ณ ํ์ฉํ ์ ์๋๋์๋ค.
- '5'๋ '4'๋ณด๋ค ํฌ๋ค.
- '5'๋ '444'๋ณด๋ค ํฌ๋ค.
โญ ๋ฌธ์์ด ๊ทธ๋๋ก๋ฅผ ๋น๊ตํ์.
์ด๋ฅผ ๊ตฌํํ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ๋ค.
์์ค์ฝ๋
def solution(numbers):
""" number๋ฅผ ๋ฐ์ ๊ฐ์ฅ ํฐ ์๋ฅผ ์ ๋ ฌํ๋ ํจ์
Notes:
1. ํต์ฌ์ ์ซ์๋ฅผ ๋ฌธ์์ด๋ก ๋ฐํํ ๋ค, ๋ฌธ์์ด ๋น๊ต๋ฅผ ์ํํ๋ ๊ฒ์ด๋ค.
2. ๋ชจ๋ ์ซ์๋ฅผ ๋ฌธ์์ด๋ก ๋น๊ตํ๊ธฐ ์ํด ๋ฌธ์์ด ๊ณฑ์
์ ์ํํ์๋ค.
3. ๋ง์ง๋ง์ 0000๊ณผ ๊ฐ์ ์ค๋ณต๊ฐ์ ์ ๊ฑฐํ๊ธฐ ์ํด int๋ก ๋ฐํํ ๋ค ๋ค์ string์ผ๋ก ๋ฐํํ์๋ค.
Args:์
๋ ฅ
numbers (list): intํ ์ซ์๋ฅผ ๋ด์ ๋ฆฌ์คํธ
Returns
์ ๋ ฌํ ๊ฐ๋ค์ string์ผ๋ก ์ฐ๊ฒฐํ ๋ฌธ์์ด ๋ฐํ
"""
answer=''
answer = sorted(list(map(str, numbers)), key=lambda x: x*5, reverse=True)
return str(int(''.join(answer)))
q = [3, 30, 34, 5, 9]
print(solution(q))
๋ค์ ์๋ฌธ์ด์๋ ์ ์ ์ ๋ฌธ์์ด ๊ณฑ์ ์ ์ํํ ๋ค ๋น๊ต๋ฅผ ์งํํ์์๊น?
โค ์ฒซ๋ฒ์งธ ๋ฌธ์ ๊ฐ์ ๊ฒฝ์ฐ๋ฅผ ๋น๊ตํ๊ธฐ ์ํด์์ด๋ค.
์๋ฅผ ๋ค์ด,
'5' > '10000000'์ True์ด๋ค.
→ ์ฒซ๋ฒ์งธ ๋ฌธ์์ธ 5๊ฐ 1๋ณด๋ค ํฌ๊ธฐ ๋๋ฌธ์ด๋ค.
โ '5'์ '50'์ ์ด๋จ๊น?
'5' > '50'์ False์ด๋ค.
→ ์ฒซ๋ฒ์งธ ๋ฌธ์๊ฐ ๊ฐ๋ค๋ฉด, ์๋ฆฌ ์๊ฐ ๋ ๋ง์ 50์ด 5๋ณด๋ค ํฌ๋ค.
ํ์ง๋ง ๋ฌธ์ ์ ์กฐ๊ฑด์ ๊ฐ์ฅ ํฐ ์๋ฅผ ๋ง๋๋ ๊ฒ์ด๋ค.
โ '505'๊ฐ ์๋๋ผ '550'์ ๋ง๋๋ ๊ฒ์ด ๋ชฉ์ ์ด๋ค.
→ ๋ฐ๋ผ์ ๋ฌธ์์ด์ ๊ธธ๊ฒ ๋์ดํ๊ธฐ ์ํด * 5๋ฅผ ํตํด ๋ฌธ์์ด์ ๋ฐ๋ณตํ๋ค.
- '3' * 5 = '33333'
๐ '3' * 5 > '30' * 5 ๋ True์ด๋ค.
- '33333' > '3030303030'์ด๋ฏ๋ก 2๋ฒ์งธ ์๋ฆฌ์์ ํฌ๊ธฐ ๋น๊ต๊ฐ ๋๋๋ค.
๐ ๋ํ, ์ต์ข ๋ฌธ์์ด์ ์ซ์๋ก ๋ณํํ ๋ค, ๋ค์ ๋ฌธ์์ด๋ก ๋ณํํ๋ค.
- ์ด์ ๋ '0000'๊ณผ ๊ฐ์ ์์ธ๊ฐ ์๊ธฐ ๋๋ฌธ์ด๋ค.
- '0000' → 0 → '0'
'์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค - ์ฒด์ก๋ณต (Greedy) (0) | 2021.06.20 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค - H-index (0) | 2021.06.17 |
๊ทธ๋ฆฌ๋ ๋ฌธ์ ํ์ด - ๋ณผ๋ง๊ณต ์ ํํ๊ธฐ (0) | 2021.06.13 |
๊ทธ๋ฆฌ๋ ๋ฌธ์ ํ์ด - ๋ง๋ค ์ ์๋ ๊ธ์ก (0) | 2021.06.12 |
๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ ๊ฐ๋ ์ด ์ ๋ฆฌ (0) | 2021.06.01 |