[Python] 코딩 도장 - 문자열 제거 숫자 반환

Updated:

코딩 도장 사이트의 문제를 직접 풀어본 내용을 정리하여 올립니다.

코딩 도장에서 여러 문제를 확인할 수 있습니다.

난이도 순으로 차근차근 풀어보려 합니다.


[문제: 문자열 제거 숫자 반환] - Lv.1

난이도:(쉬움) 현우는 축구를보다가 우리나라선수들의몸값을 알고싶었다

그래서 검색을해서 메모장에 적는데 키보드가 조그만하고 안좋은지라

자꾸 숫자가아닌 문자를 같이입력해버린다

ex: xxx : 1627000000 > xxx : 1w627r00o00p00 만 (특수문자제외)

현우는 왜인지모르지만 뜻대로안되는것에

너무화가나서 자신이수량을입력하면 문자열만 딱빼서 숫자만 반환하는 코드를 만들고싶어한다

화가난 현우를위해 코드를 만들어보자!

출처: https://codingdojang.com/scode/598?answer_mode=hide


[풀이]

import re

def to_number(x):
    num_lst = re.findall("[\d]", x)
    return int("".join(num_lst))

to_number("한글1w627r00o00p00")
1627000000

우선 정규식의 findall()을 이용해서 숫자들을 리스트 형태로 저장하였다.

그 후 join()을 이용해서 리스트 내의 숫자를 합쳐서 출력하였다.


[추천 풀이]

print(''.join(i for i in input('') if i.isdigit()))
한글1w627r00o00p00
1627000000

어떻게 보면 비슷하게 푼 것 같다.

나는 숫자를 찾기 위해 정규식을 사용했고 이 분은 isdigit()을 사용하였다.

isdigit() 함수는 처음 알았는데 잘 기억해두면 좋을 것 같다.

Leave a comment