Potato
์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์žก๋‹ˆ๋‹ค?๐Ÿฅ” ^___^ ๐Ÿ˜บ github ๋ฐ”๋กœ๊ฐ€๊ธฐ ๐Ÿ‘‰๐Ÿป

Algorithm/Programmers

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ •๋ ฌ - ๊ฐ€์žฅ ํฐ ์ˆ˜ (level.2)

๊ฐ์ž ๐Ÿฅ” 2021. 9. 7. 17:55
๋ฐ˜์‘ํ˜•

 

๋ฌธ์ œ ๋งํฌ

https://programmers.co.kr/learn/courses/30/lessons/42746/

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๊ฐ€์žฅ ํฐ ์ˆ˜

0 ๋˜๋Š” ์–‘์˜ ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ •์ˆ˜๋ฅผ ์ด์–ด ๋ถ™์—ฌ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ ์•Œ์•„๋‚ด ์ฃผ์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ฃผ์–ด์ง„ ์ •์ˆ˜๊ฐ€ [6, 10, 2]๋ผ๋ฉด [6102, 6210, 1062, 1026, 2610, 2106]๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ณ , ์ด์ค‘ ๊ฐ€์žฅ ํฐ

programmers.co.kr

 

๋‚˜์˜ ํ’€์ด

  • permutation์€ ์‹œ๊ฐ„์ดˆ๊ณผ๋กœ ๋ชจ๋“  ํ…Œ์ŠคํŠธ ํ†ต๊ณผ๊ฐ€ ํž˜๋“ฆ
  • lambdaํ•จ์ˆ˜ ํ™œ์šฉํ•ด์„œ ๋ฌธ์ž์—ด์„ x3 ํ•ด์ฃผ์—ˆ๋Š”๋ฐ, ์ด ๊ณผ์ •์€ ์ธํ„ฐ๋„ท์„ ์ฐธ๊ณ ํ•จ..
  • ๋ฌธ์ž์—ด์„ ์‚ฌ์ „์ ์œผ๋กœ ๋น„๊ตํ•˜๊ธฐ์œ„ํ•ด์„œ x3ํ•ด์ค€๋‹ค๋Š” ๊ฒฝ์ด๋กœ์šด ์‚ฌ์‹ค์„ ์•Œ๊ฒŒ๋จ.
  • ์ •๋ ฌ๊ณผ ๊ด€๋ จ๋œ ๊ณต๋ถ€๊ฐ€ ๋” ํ•„์š”ํ•  ๊ฒƒ ใ… ใ… 
# permutation ์ด์šฉํ•œ ์ฝ”๋“œ (์ „ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค ์‹œ๊ฐ„ ์ดˆ๊ณผ)
# from itertools import permutations

# def solution(numbers):
#     per = list(permutations(numbers, len(numbers)))
#     answer = 0

#     for i in range(len(per)):
#         per[i] = list(map(str, per[i]))
#         per[i] = "".join(per[i])
#         per[i] = int(per[i])
#         answer = max(answer, per[i])

#     return str(answer)

def solution(numbers):
    numbers = list(map(str, numbers))
    numbers.sort(key = lambda x: x*3, reverse = True)
    return str(int("".join(numbers)))
	# ์—ฌ๊ธฐ return ์—์„œ str -> int -> str ์ด๋ ‡๊ฒŒ ๋ฐ”๊ฟ”์ค˜์•ผํ•˜๋Š” ์ด์œ ์ข€? ํ…Œ์ŠคํŠธ14์—์„œ ์˜ค๋ฅ˜๋‚จ

๊ทธ๋ฆฌ๊ณ  ๋งˆ์ง€๋ง‰ return ํ• ๋•Œ ์™œ ์ €๋ ‡๊ฒŒ ๋‘๋ฒˆ์˜ ํ˜• ๋ณ€ํ™˜์ด ํ•„์š”ํ•œ์ง€ ์•„์ง ์ดํ•ด๋ฅผ ํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. ํ…Œ์ŠคํŠธ 14๋ฒˆ์—์„œ๋งŒ ์˜ค๋ฅ˜๊ฐ€ ๋‚œ๋‹ค. ๋ฌด์Šจ์ผ์ผ๊นŒ ใ…  

 

๋‹ค๋ฅธ ์‚ฌ๋žŒ ํ’€์ด

https://programmers.co.kr/learn/courses/30/lessons/42746/solution_groups?language=python3&type=all 

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

์—ญ์‹œ ๋‚ด๊ฐ€ ์ธํ„ฐ๋„ท์„ ์ฐธ๊ณ ํ•œ lambda ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ ํ’€์ด๊ฐ€ ๊ฐ€์žฅ ์ข‹์•„์š” ์ˆ˜๊ฐ€ ๋งŽ๋‹ค. ์ด์™ธ์—๋„ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ์œผ๋‹ˆ ์‚ดํŽด๋ณด๋„๋ก ํ•˜์ž. '๋‘์ž๋ฆฌ์ˆ˜'์™€ 'ํ•œ์ž๋ฆฌ์ˆ˜'๋ฅผ ๋น„๊ตํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋งŽ์€ ๋…ธ๋ ฅ์„ ํ–ˆ์—ˆ๋Š”๋ฐ, ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊พผ ํ›„ '์‚ฌ์ „์ ์ธ ์ˆœ์„œ'๋ฅผ ํ™œ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ๋˜๋‹ค๋ฅธ ๋น„๊ต๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ๊นจ๋‹ฌ์•˜๋‹ค. ์—ญ์‹œ ์ •๋ ฌ๊ณผ ๊ด€๋ จํ•ด์„œ๋„ ๋งŽ์€ ์ƒ๊ฐ๊ณผ ํ›ˆ๋ จ์ด ํ•„์š”ํ•œ ๊ฒƒ ๊ฐ™๋‹ค.

๋ฐ˜์‘ํ˜•