문제

문제

 

처음 작성한 코드

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+'로 하면 된다.
  • 잘하는 사람들 진짜 많다..