def solution(files):
# {file:[head, number]}
file_dic = dict()
for file in files:
head, number, tail = '', '', ''
number_check = False
for idx in range(len(file)):
# 처음으로 숫자가 나오기 시작할 때부터 number 저장
if file[idx] in '0123456789':
number += file[idx]
number_check = True
# 숫자가 나오기 전까지 head 저장
elif not number_check:
head += file[idx].upper()
# 나머지 tail이 나오면 저장하고 break
else:
tail = file[idx:]
break
# 딕셔너리에 담기, tail은 상관없음!
file_dic[file] = [head, int(number)]
# head와 number를 기준으로 정렬하기
file_dic = dict(sorted(file_dic.items(), key = lambda x : x[1]))
# key만 꺼내기, *** list로 묶지 않으면 오류남!
answer = list(file_dic.keys())
return answer