이 문제는 잘 풀었는데 s1과 s2 의 초기값을 잘못설정했다.
s1은 만약 시작점이 "12abc" 일경우 한개는 HEAD이기 때문에 초기값을 0으로 설정하면 안된다.
또 s2는 for문에서 끝까지 가서 TAIL이 없을 경우를 대비해 초기값을 len(file) 이 옳다.
def slice1(file):
s1 = 1
s2 = len(file)
for i in range(1,len(file)):
if file[i].isdigit():
s1 = i
break
for i in range(s1,len(file)):
if not file[i].isdigit():
s2 = i
break
return (file[0:s1].upper(),int(file[s1:s2]),file)
def solution(files):
file_list = []
for f in files:
file_list.append(slice1(f))
file_list.sort(key=lambda x:(x[0],x[1]))
result = []
for file in file_list:
result.append(file[2])
return result
'코딩 테스트 > 코딩 테스트 - 문제' 카테고리의 다른 글
[프로그래머스] N-Queen (0) | 2023.02.20 |
---|---|
[프로그래머스] 롤케이크 자르기 (0) | 2023.02.17 |
[백준] 개미 (0) | 2023.02.13 |
k진수에서 소수 개수 구하기 (0) | 2023.02.08 |
[프로그래머스] 캐시 (0) | 2023.02.06 |