문제 설명 및 제한사항
아이디어 및 해결 방법
코드
def headnumber(f):
head, number, i = [], [], 0
while not f[i].isdigit():
head.append(f[i])
i += 1
while i < len(f) and f[i].isdigit():
number.append(f[i])
i += 1
return ''.join(head), int(''.join(number))
def solution(files):
newfiles = []
for f in files:
head, number = headnumber(f)
newfiles.append((head.lower(), number, f))
# HEAD와 NUBMER를 기준으로만 정렬합니다.
newfiles.sort(key=lambda x: (x[0], x[1]))
return [tup[2] for tup in newfiles]
Python
복사
출처
프로그래머스 코딩테스트 연습 https://school.programmers.co.kr/learn/challenges