https://school.programmers.co.kr/learn/courses/30/lessons/17686
def solution(files):
answer = []
an = []
for file in files:
s = []
for idx, i in enumerate(file):
if i.isdigit():
s.append(idx)
elif len(s) > 0 and i.isdigit()==False:
break
head = file[:s[0]]
number = file[s[0]:s[-1]+1]
etc = file[s[-1]+1:]
an.append([head, number, etc])
an = sorted(an, key=lambda x: (x[0].lower(), int(x[1])))
answer = [''.join(a) for a in an]
return answer
다음 방법을 쓰면 더 쉽게 구할 수 있다.
import re
re.findall(r'\d+', file)
'Coding Test > 프로그래머스' 카테고리의 다른 글
[프로그래머스] / [Level 3] / [Python] 최고의 집합 (0) | 2023.03.27 |
---|---|
[프로그래머스] / [Level 2] / [Python] 괄호 변환 (0) | 2023.03.27 |
[프로그래머스] / [Level 2] / [Python] 메뉴 리뉴얼 (0) | 2023.03.22 |
[프로그래머스] / [Level 2] / [Python 오픈채팅방 (0) | 2023.03.22 |
[프로그래머스] / [Level 2] / [Python] 예상 대진표 (0) | 2023.03.20 |