728x90
https://school.programmers.co.kr/learn/courses/30/lessons/42746
from itertools import *
def sort(List):
save=[]
tupl = list(permutations(List, len(List)))
for i in range(len(tupl)):
List = list(tupl[i])
save.append(''.join(List))
save.sort(reverse=True)
return save[0]
def solution(numbers):
answer = ''
tmp = map(lambda x: str(x), numbers)
List = list(tmp)
List.sort(reverse=True)
old = ''.join(List)
if List.count('0')==len(List):
return '0'
save = []
tmp = [List[0]]
for i in range(1,len(List),1):
if List[i-1][0]==List[i][0]:
tmp.append(List[i])
else:
save.append(tmp)
tmp = [List[i]]
save.append(tmp)
answer=''
for i in range(len(save)):
answer = answer + sort(save[i])
return answer
[979, 97, 978, 81, 818, 817] 해당 케이스 안 됨

def sort(List):
old = ''.join(List)
while True:
for i in range(len(List)-1,0,-1):
diff=len(List[i-1]) - len(List[i])
if diff > 0:
if (List[i]+List[i][len(List[i])-1]*diff) >= List[i-1]:
tmp = List
st = ''.join(tmp)
k=tmp.pop(i)
tmp.insert(i-1, k)
if st < ''.join(tmp):
List = tmp
if old == ''.join(List):
return ''.join(List)
else:
old = ''.join(List)
def solution(numbers):
answer = ''
tmp = map(lambda x: str(x), numbers)
List = list(tmp)
List.sort(reverse=True)
old = ''.join(List)
if List.count('0')==len(List):
return '0'
save = []
tmp = [List[0]]
for i in range(1,len(List),1):
if List[i-1][0]==List[i][0]:
tmp.append(List[i])
else:
save.append(tmp)
tmp = [List[i]]
save.append(tmp)
answer=''
for i in range(len(save)):
save[i]=sort(save[i])
answer = answer + ''.join(save[i])
return answer'코딩' 카테고리의 다른 글
| 프로그래머스 - 코딩테스트 고득점 Kit - 정렬 - H-Index (python) (0) | 2023.01.19 |
|---|---|
| 프로그래머스 - 코딩테스트 고득점 Kit - 정렬 - K번째수 (python) (0) | 2023.01.19 |
| 프로그래머스 - 코딩테스트 고득점 Kit - 스택/큐 - 주식가격 (python) (0) | 2023.01.04 |
| 프로그래머스 - 코딩테스트 고득점 Kit - 스택/큐 - 프린터 (python) (0) | 2023.01.04 |
| 프로그래머스 - 코딩테스트 고득점 Kit - 스택/큐 - 올바른 괄호(python) (0) | 2023.01.04 |