문제
처음 작성한 코드
def solution(s):
answer = []
s = sorted(s[2:-2].split("},{"), key=lambda x: len(x))
if len(s)==1:
return list(map(int, s))
for i in range(len(s)-1):
if i==0: answer.append(s[i])
answer.append(''.join(set(s[i+1].split(",")) - set(s[i].split(','))))
return list(map(int,answer))
코드 리뷰 후
def solution(s):
import re
from collections import Counter
return list(map(int, [i for i, v in sorted(Counter(re.findall('\d+',s)).items(), key=lambda x: x[1],reverse=True)]))
깨달은 점
- 숫자만 빼고 싶을 때 정규식 패턴을 '\d+'로 하면 된다.
- 잘하는 사람들 진짜 많다..
'Programmers' 카테고리의 다른 글
[프로그래머스] 비밀지도 (0) | 2021.01.13 |
---|---|
[프로그래머스] 실패율 (0) | 2021.01.13 |
[프로그래머스] 뉴스 클러스터링 (0) | 2021.01.10 |
[프로그래머스] H-Index (0) | 2021.01.09 |
[프로그래머스] 크레인 인형뽑기 게임 (0) | 2021.01.07 |