프로그래밍 숲

[라이브러리] 파이썬 re 라이브러리 사용하여 숫자만 분리하기 본문

카테고리 없음

[라이브러리] 파이썬 re 라이브러리 사용하여 숫자만 분리하기

jjscript 2023. 7. 14. 20:16
728x90
반응형
import re

def solution(s):
    extracted = re.findall('\d+', s)
    elements = list(map(int, extracted))
    
    tuple_set = []
    count_dict = {}
    
    for element in elements:
        if element not in count_dict:
            count_dict[element] = 1
        else:
            count_dict[element] += 1
    
    sorted_elements = sorted(count_dict.keys(), key=lambda x: count_dict[x], reverse=True)
    
    return sorted_elements

위와 같은 알고리즘 문제 풀이에서, 정규식 연산 라이브러리를 사용할 수 있습니다.

 

re.findall('\d+', s)는 정규 표현식을 사용하여 문자열 s에서 숫자들을 추출하는 코드입니다.

정규 표현식은 문자열에서 특정한 패턴을 찾거나 매칭하는 데 사용됩니다. \d는 정규 표현식에서 숫자를 의미하며, +는 바로 앞에 있는 패턴이 하나 이상 연속해서 나타날 수 있음을 나타냅니다.

즉, re.findall('\d+', s)는 문자열 s에서 연속된 숫자들을 모두 찾아 리스트로 반환하는 역할을 합니다. 예를 들어, 문자열 "abc123def456"에서 숫자들을 추출하면 ['123', '456']라는 리스트가 반환됩니다.

따라서 주어진 문제에서는 re.findall('\d+', s)를 사용하여 주어진 문자열 s에서 숫자들을 추출하고, 이를 나중에 튜플의 원소로 사용하기 위해 정수로 변환합니다.

728x90
반응형
Comments