https://programmers.co.kr/learn/courses/30/lessons/42746?language=python3
코딩테스트 연습 - 가장 큰 수
0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰
programmers.co.kr
from itertools import permutations
def solution(numbers):
numbers = list(map(str,numbers))
strs = []
permus = list(permutations(numbers,len(numbers)))
for permu in permus:
str1 = ''
str1 = str1.join(permu)
strs.append(str1)
return max(strs)
위 코드는 기능은 잘 되는 것 같지만 시간 초과로 아쉽게 코딩 테스트를 통과할 수 없었다. 하지만 permutations 라이브러리를 익힐 수 있는 좋은 예제 코드로 탄생한 것 같아 기록에 남긴다.
'알고리즘' 카테고리의 다른 글
계수 정렬(Counting Sort) 알고리즘 (0) | 2021.11.04 |
---|---|
한번에 2개의 원소를 입력 받는 리스트의 정렬 방법 (0) | 2021.11.04 |
자바 배열 자르기 copyOfRange() (0) | 2021.10.29 |
자바 배열 정렬 (0) | 2021.10.29 |
[java -heap]PriorityQueue 최소값 반환 (0) | 2021.10.28 |