반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- DP
- 구현
- BFS
- level0
- 운영체제
- dfs
- 스택
- level2
- 재귀
- programmers
- level1
- 백준
- 수학
- N과M
- 프로그래머스
- 브루트포스
- 코딩테스트
- 다이나믹 프로그래밍
- python
- 다익스트라
- 가상메모리
- 딕셔너리
- 힙
- level3
- 에라스토테네스의 체
- 가상메모리 관리
- 그리디
- BOJ
- MYSQL
- 파이썬
Archives
- Today
- Total
동캄의 코딩도장
프로그래머스 level2 [ [3차] 파일명 정렬] 파이썬 본문
반응형
https://programmers.co.kr/learn/courses/30/lessons/17686
코딩테스트 연습 - [3차] 파일명 정렬
파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램
programmers.co.kr
#프로그래머스 [3차] 파일명 정렬
def solution(files):
answer = []
lst=[]
for file in files:
for i in range(len(file)):
if file[i].isdigit():
break
for j in range(5):
if (i+j)<len(file) and file[i+j].isdigit():
continue
else:
j+=i
break
else:
j=i+5
s=[file[:i],file[i:j],file[j:]]
lst.append(s)
lst.sort(key=lambda x:(x[0].upper(),int(x[1])))
for val in lst:
answer.append(''.join(val))
return answer
lst 객체를 생성하고, file을 하나씩 불러와서 처음으로 숫자가 있는 index값을 i로 저장한다. 그 뒤, j를 5번 반복하며, 문자가 있는지 or 5번을 넘기는지 or 배열이 끝나는지 확인하면서, 각 조건에따라 j값을 수정한다.
결과로 i는 HEAD의 끝 index, j는 Number의 끝 index를 가리킨다.
이점을 기준으로 나누고, lst를 저장후, sort한다.
반응형
'코테 > 프로그래머스' 카테고리의 다른 글
프로그래머스 level2 [문자열 압축] 파이썬 (0) | 2021.12.09 |
---|---|
프로그래머스 level2 [방문 길이] 파이썬 (0) | 2021.12.09 |
프로그래머스 level2 [1차 캐시] 파이썬 (0) | 2021.12.08 |
프로그래머스 level2 [구명보트] 파이썬 (0) | 2021.12.08 |
프로그래머스 level2 [가장 큰 수] 파이썬 (0) | 2021.12.08 |