๋ฌธ์
ํ๋ก๊ทธ๋๋จธ์ค ๊ฐ์ฅ ํฐ ์
https://school.programmers.co.kr/learn/courses/30/lessons/42746?language=python3
์ฝ๋
import itertools
def solution(numbers):
numbers_per = list(itertools.permutations(numbers))
answer = -1
for i in range(len(numbers_per)):
lst = list(numbers_per[i])
for a in range(len(lst)):
lst[a] = str(lst[a])
hapchim = int(''.join(lst))
answer = max(answer, hapchim)
return str(answer)
์ด ์ฝ๋๋ ์๊ฐ์ด๊ณผ๋ก ํต๊ณผํ์ง ๋ชปํ๋ค.
ํ์ด
numbers_per = list(itertools.permutations(numbers))
์ ๋ ฅ๋ฐ์ ์ซ์ ๋ฐฐ์ด๋ก ๋ง๋ค ์ ์๋ ๋ชจ๋ ์์ด์ ๋ง๋ ๋ค
for i in range(len(numbers_per)):
lst = list(numbers_per[i])
for a in range(len(lst)):
lst[a] = str(lst[a])
hapchim = int(''.join(lst))
answer = max(answer, hapchim)
์์ด ๋ฆฌ์คํธ๋ฅผ ํ๋์ฉ ๋ฝ์์์ ์ด์ด๋ถ์ฌ ํ๋์ ์ซ์๋ฅผ ๋ง๋ ๋ค.
์์ด๋ฆฌ์คํธ๋ฅผ ๋๋ฉฐ ์ซ์๋ฅผ ํ๋์ฉ ๋ง๋ค๋๋ง๋ค ๋์๋น๊ต๋ฅผ ํ๋ฉฐ ์ต๋๊ฐ์ ์ฐพ๋๋ค.
๋ ๋์ ์ฝ๋
def solution(numbers):
input_list = list(map(str, numbers))
input_list.sort(key=lambda x: x * 3, reverse=True)
answer = int(''.join(input_list))
return str(answer)
ํ์ด
input_list = list(map(str, numbers))
์ ๋ ฅ๋ฐ์ ๋ฐฐ์ด์ ์์๋ฅผ ๋ชจ๋ ๋ฌธ์ํ์ผ๋ก ๋ฐ๊พผ๋ค.
input_list.sort(key=lambda x: x * 3, reverse=True)
key ๋งค๊ฐ๋ณ์๋ฅผ ๊ฐ์ง๋ sort() ํจ์๋ key ๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ๋๋.
๋น๊ตํ๋ ค๋ ์ซ์๋ค์ ์๋ฆฟ์๋ฅผ 3๋ฐฐ ๋๋ฆฐ ์ํ์์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค.
์๋ฆฟ์ 3๋ฐฐ๋ ์๋์ ๊ฐ์ด ํด๋น ์๋ฅผ 3๋ฒ ๋ถ์ด๋ ๊ณผ์ ์ ๋งํ๋ค.
6 โก๏ธ 666
10 โก๏ธ 101010
2 โก๏ธ 222
์ฐ์ ์ ์ผ๋ก 3๋ฐฐ๊ณฑ์ด ์๋ ์๋ฆฟ์๊ฐ 3๋ฐฐ๊ฐ ๊ฐ๋ฅํ ์ด์ ๋ ์ ์ ์์๋ค์ ๋ชจ๋ ๋ฌธ์ํ์ผ๋ก ๋ฐ๊ฟ์คฌ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฅํ๋ค.
๋ฌธ์ ์์ ์ซ์์ ์ต๋ ํฌ๊ธฐ๊ฐ 1000 ๋ฏธ๋ง์ด๋ผ๊ณ ํ๊ธฐ์ 3๋ฒ๋ง ๋ถ์ฌ๋ ๋๋ค.
์ ๋ ฅ๋๋ ์ซ์์ ์ต์๊ธธ์ด๋ ํ์๋ฆฌ, ์ต๋ ๊ธธ์ด๋ ์ธ์๋ฆฌ์ด๊ธฐ ๋๋ฌธ์ด๋ค.
(๋ง์ฝ ๋ฌธ์ ์์ ์ซ์์ ์ต๋ ํฌ๊ธฐ๊ฐ 10000 ๋ฏธ๋ง์ด๋ผ๊ณ ํ๋ค๋ฉด 4๋ฒ ๋ถ์์๊ฒ์ด๋ค.)
answer = int(''.join(input_list))
์ ๋ ฌ๋ ๊ฐ์ด ['0', '0', '0', ...] ์ด๋ผ๋ฉด ๋ฐํ๊ฐ์ด 0000... ์ด ๋ ์ ์์ผ๋ ๋ฐฐ์ด์ ์ ์๋ก ๋ฐ๊ฟ์ฃผ๋ ์์ ์ ํ๋ค.
์ด ์์ ์ ํ๋ฉด ์ ๋ ฌ๋ ๊ฐ์ด ['0', '0', '0', ...] ์ด๋๋ผ๋ answer์ '์ ์ 0' ์ผ๊ฒ์ด๋ค.
return str(answer)
"์ ๋ต์ด ๋๋ฌด ํด ์ ์์ผ๋ ๋ฌธ์์ด๋ก ๋ฐ๊พธ์ด return ํฉ๋๋ค."
๋ผ๋ ๋ฌธ์ ์ ์ ํ์ฌํญ์ ๋ง์ถ๋ค.
์๋กญ๊ฒ ๋ฐฐ์ด์ / ๋๋์
- sort() ํจ์์ key๋ผ๋ ๋งค๊ฐ ๋ณ์์ ๊ทธ๊ฒ ๋ฌด์จ ์ญํ ์ ํ๋์ง ์๊ฒ ๋์๋ค. ์์ ์ ๋ฌธ์ ๋ค์ ํ๋ฉด์ ๋ฌด์กฐ๊ฑด ์ค๋ฆ/๋ด๋ฆผ ์ฐจ์์ด ์๋ ๋ค๋ฅธ ์กฐ๊ฑด์ ๊ฑธ์ด๋๊ณ ์ ๋ ฌํ๊ณ ์ถ์ด์ ์ฝ๋๋ฅผ ๊ธธ๊ฒ ๋ค ๊ตฌํํ์ ์ด ์๋๋ฐ, ์์ผ๋ก ์๊ทธ๋๋ ๋ ๊ฒ๊ฐ๋ค.
- ์ฒ์์ ๋์ ํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐ ๋ชปํด์ ํด๊ฒฐ๋ฐฉ๋ฒ์ ๊ฒ์ํ ๊ฒฐ๊ณผ๊ฐ ์์ ๋์จ '๋ ๋์ ์ฝ๋' ์ด๋ค. ์ด๋ป๊ฒ ์ ๋ ๊ฒ ์ฐฝ์ ์ ์ธ ๋ฐฉ๋ฒ์ ์๊ฐํด ๋ด๋์ง.. ์ ๋ง ์ ๊ธฐํ๊ณ ์กด๊ฒฝ์ค๋ฝ๋ค!
'์ฝ๋ฉํ ์คํธ๐ก' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ํ๊ฒ ๋๋ฒ (0) | 2024.05.30 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ์นดํซ (0) | 2024.05.28 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ฌ๋ฐ๋ฅธ ๊ดํธ (0) | 2024.05.23 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๊ธฐ๋ฅ๊ฐ๋ฐ (0) | 2024.05.22 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ (0) | 2024.05.21 |