일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 백준 #파이썬 #알고리즘 #코딩테스트
- css #생활코딩 #웹
- 재귀
- 다익스트라
- 알고리즘
- 파이썬
- 프로그래머스 #파이썬 #알고리즘 #코딩테스트
- 백준
- DFS
- react #리액트 #동빈나
- dp
- 백준 #알고리즘 #파이썬 #코딩테스트
- 다이나믹프로그래밍
- java #자바 #나동빈
- BFS
- 코딩테스트
- Dijkstra
- java #자바
- java #자바 #생활코딩
- 투포인터
- 백트랙킹
- 프로그래머스
- 파이썬 #알고리즘 #코딩테스트 #프로그래머스
- 프로그래머스 #파이썬 #코딩테스트 #알고리즘
- PYTHON
- java #자바 #동빈나
- 자바 #java
- css #웹 #생활코딩
- react #리액트 #동빈나 #나동빈 #유튜브강의
- 파이썬 #백준 #알고리즘 #코딩테스트
Archives
- Today
- Total
커리까지
프로그래머스 [3차] 파일명 정렬 파이썬 본문
728x90
SMALL
1 2 3 4 5 6 7 | import re def solution(files): file2 = [ re.split(r'([0-9]+)', i) + [idx] for idx,i in enumerate(files)] answer = [''.join(i[0:-1]) for i in sorted(file2, key=lambda x:(x[0].lower(),int(x[1]),x[-1]))] print(answer) return answer solution(['img12.png', 'img10.png', 'img02.png', 'img1.png', 'IMG01.GIF', 'img02.png', 'img2.JPG', 'img10.png', 'img12.png']) | cs |
- 정규식을 활용하여 숫자로 분리한다.
- [0-9], ([0-9]),([0-9]+),[0-9]+의 차이점이 무엇인지 보자. 우선 괄호를 넣으면 분리되는 숫자까지 넣어서 리스트로 만들어 진다.
- 그 다음에 인덱스순으로 정렬해야하기때문에 인덱스도 같이 넣어준다.
- 람다식으로 해더, 중간, 인덱스 순으로 정렬해서 join으로 리스트를 만들면 끝난다.
r'([0-9]+)'
1 2 3 | [['img', '12', '.png', 0], ['img', '10', '.png', 1], ['img', '02', '.png', 2], ['img', '1', '.png', 3], ['IMG', '01', '.GIF', 4], ['img', '02', '.png', 5], ['img', '2', '.JPG', 6], ['img', '10', '.png', 7], ['img', '12', '.png', 8]] | cs |
- 같은 숫자끼리는 붙이고, 숫자를 포함하여 리스트를 만들어준다. +는 반복을 의미한다.
r'([0-9])'
1 2 3 | [['img', '1', '', '2', '.png', 0], ['img', '1', '', '0', '.png', 1], ['img', '0', '', '2', '.png', 2], ['img', '1', '.png', 3], ['IMG', '0', '', '1', '.GIF', 4], ['img', '0', '', '2', '.png', 5], ['img', '2', '.JPG', 6], ['img', '1', '', '0', '.png', 7], ['img', '1', '', '2', '.png', 8]] | cs |
- 숫자끼리 떨어트리고 숫자를 포함하여 리스트 생성
r'[0-9]+'
1 2 | [['img', '.png', 0], ['img', '.png', 1], ['img', '.png', 2], ['img', '.png', 3], ['IMG', '.GIF', 4], ['img', '.png', 5], ['img', '.JPG', 6], ['img', '.png', 7], ['img', '.png', 8]] | cs |
- 괄호가 없어서 숫자가 포함되지 않았다.
r'[0-9]'
1 2 | [['img', '', '.png', 0], ['img', '', '.png', 1], ['img', '', '.png', 2], ['img', '.png', 3], ['IMG', '', '.GIF', 4], ['img', '', '.png', 5], ['img', '.JPG', 6], ['img', '', '.png', 7], ['img', '', '.png', 8]] | cs |
728x90
LIST
'알고리즘 > 풀이' 카테고리의 다른 글
백준 20040번 사이클 게임 파이썬 (0) | 2021.01.22 |
---|---|
백준 4386번 별자리 만들기 파이썬 (0) | 2021.01.22 |
프로그래머스 [1차] 비밀지도 파이썬 (0) | 2021.01.18 |
백준 10815 숫자카드 파이썬 (0) | 2021.01.15 |
백준 2012번 등수 매기기 파이썬 (0) | 2021.01.14 |
Comments