Notice
Recent Posts
Recent Comments
Link
나의 개발일지
[프로그래머스] Lv.2 [3차] 파일명 정렬 [Python, 파이썬] KAKAO 본문
- 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/17686
- 🔑 정규식 사용
- re.search() 함수로 NUMBER 부분을 찾음
- start() 함수로 NUMBER의 시작 인덱스를 얻음
- end() 함수로 NUMBER의 끝 인덱스를 얻음
- 얻은 인덱스로 문자열 슬라이싱 해서 HEAD, NUMBER, TAIL을 구분
- sort() 함수에 람다 표현식으로 HEAD로 우선 정렬, HEAD가 같다면 같은 애들 중 NUMBER로 정렬
- lower()로 대소문자 구분 없앰, int로 문자열을 숫자를 정수형 숫자로 비교
- HEAD, NUMBER, TAIL로 구분한 리스트를 하나의 문자열로 합쳐서 정답 리스트에 반환
import re
def solution(files):
answer = []
div = []
for i in files:
x = re.search("[0-9]{1,5}", i)
st = x.start()
ed = x.end()
div.append([i[:st], i[st:ed], i[ed:]])
div.sort(key=lambda x : (x[0].lower(), int(x[1])))
for i in div:
answer.append("".join(i))
return answer
'프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv.1 크레인 인형뽑기 게임 [Python, 파이썬] KAKAO (1) | 2023.10.05 |
---|---|
[프로그래머스] Lv.2 [1차] 프렌즈4블록 [Python, 파이썬] KAKAO (0) | 2023.10.05 |
[프로그래머스] Lv.2 오픈채팅방 [Python, 파이썬] KAKAO (0) | 2023.10.04 |
[프로그래머스] Lv.2 [3차] n진수 게임 [Python, 파이썬] KAKAO (0) | 2023.09.27 |
[프로그래머스] Lv.2 [3차] 압축 [Python, 파이썬] KAKAO (0) | 2023.09.26 |
Comments