1. 반복을 이용한 문자열 처리
def solution(files):
answer = []
idx=0
for f in files:
f = f.lower()
H = ""
for i in range(len(f)):
if f[i].isdigit():
f = f[i:]
break
else:
H += f[i]
N = ""
for i in range(len(f)):
if f[i].isdigit()==False:
f = f[i:]
break
else:
N += f[i]
T = f
answer.append([idx,H,N,T])
idx +=1
answer.sort(key=lambda x: (x[1], int(x[2]), x[0]))
ans = []
for tup in answer:
ans.append(files[tup[0]])
return ans
2. 정규식을 이용한 문자열 처리
import re
def solution(files):
answer = [re.split(r"([0-9]+)", f) for f in files]
answer.sort(key= lambda x: (x[0].lower(), int(x[1])))
return ["".join(s) for s in answer]
'Programming > Programmers' 카테고리의 다른 글
[프로그래머스/Python] 수식 최대화 (반복/재귀) (0) | 2021.01.02 |
---|---|
[프로그래머스/Python] 프렌즈4블록 (0) | 2021.01.01 |
[프로그래머스/Python] 후보키(조합/비트연산) (0) | 2020.12.31 |
[프로그래머스/Python] 올바른 괄호(스택) (0) | 2020.12.29 |
[프로그래머스/Python] 숫자의 표현 (0) | 2020.12.29 |