숨어있는 숫자의 덧셈(2) - 프로그래머스(python)

hh_mon__a·2023년 1월 16일
0

코딩테스트

목록 보기
13/14

문제


풀이

  • 처음엔 [i for i in ss if i.isdigit()] 이렇게 진행했는데 그럼 숫자가 다 분리가 되었다.
  • 그래서 re메서드를 사용했다.
def solution(my_string):
    import re
    answer = re.split(r'[a-zA-Z]',my_string)
    result = [int(i) for i in answer if i.isdigit()]
    return sum(result)
  • re.split으로 알파벳을 다 공백으로 바꿔준다.
    -> ['', '', '', '1', '2', '', '34', '', '', '']
  • 그 후 리스트 안의 값이 숫자라면 int로 변경해주고 다 더해준다.

다른 사람 풀이

def solution(my_string):
    s = ''.join(i if i.isdigit() else ' ' for i in my_string)
    return sum(int(i) for i in s.split())
  • re메서드를 사용하지않고 if/else로 풀었다.
  • 그리고 split 사용해 숫자를 나눠 합해줬다.
profile
데이터분석/데이터사이언스/코딩

0개의 댓글