풀이
cmp_to_key를 사용해 정렬 조건을 만들어 해결했습니다.
코드
from functools import cmp_to_key
def solution(files):
answer = []
files_list = list()
for file in files:
temp = ""
flag = False
file_info = list()
for idx in range(len(file)):
temp += file[idx]
if file[idx].isdigit():
file_info.append(temp[:-1].lower())
temp = ""
flag = True
for i in range(5):
if file[idx].isdigit():
temp += file[idx]
idx += 1
if idx >= len(file):
break
else:
break
file_info.append(int(temp))
if flag:
file_info.append(file)
files_list.append(file_info)
break
files_list = sorted(files_list, key=cmp_to_key(compare))
answer = [a[2] for a in files_list]
return answer
def compare(x, y):
if x[0] > y[0]:
return 1
elif x[0] < y[0]:
return -1
else:
if x[1] > y[1]:
return 1
elif x[1] < y[1]:
return -1
else:
return 0
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[Python] 프로그래머스 추석 트래픽 (0) | 2021.05.02 |
---|---|
[Python] 프로그래머스 n진수 게임 (0) | 2021.05.01 |
[Python] 프로그래머스 압축 (0) | 2021.04.25 |
[Python] 프로그래머스 방금그곡 (0) | 2021.04.18 |
[Python] 프로그래머스 후보키 (0) | 2021.04.17 |