❓ 문제
🛎️ 아이디어
1. sorted를 사용한다.
a. lambda 식을 사용해서 key값을 두 개 넣어준다.
b. 키 두 개는 각각 re를 사용해서 head, number 부분을 가져온다.
ㄱ. 문자열에서 숫자 부분을 가져와서 해당 숫자 기준으로 자른다. -> 인덱스 0이 head가 된다.
ㄴ. head 부분은 대소문자 구분을 하지 않기 위해 lower을 사용한다.
💻 풀이
import re
def solution(files):
# head 기준으로 정렬 -> number 기준으로 정렬
return sorted(files, key= lambda x: (x.split(re.findall('\d+', x)[0])[0].lower(), int(re.findall('\d+', x)[0])))
'Algorithm | Language > Python' 카테고리의 다른 글
[programmers/Lv.2] 혼자서 하는 틱택토 (1) | 2023.03.06 |
---|---|
[programmers/Lv.2] [1차] 캐시 (0) | 2023.03.06 |
[programmers/Lv.2] 피로도 (0) | 2023.02.23 |
[programmers/Lv.2] 땅따먹기 (0) | 2023.02.23 |
[programmers/Lv.2] 다리를 지나는 트럭 (0) | 2023.02.23 |