노력에는 지름길이 없으니까요

프로그래머스 - 숨어있는 숫자의 덧셈 (2) Python ver. 본문

Python/프로그래머스

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

데건 2024. 7. 9. 10:24
728x90

 

해결일 언어 레벨 테스트명
20240617 Python level 0  숨어있는 숫자의 덧셈 (2)

 

링크 : https://school.programmers.co.kr/learn/courses/30/lessons/120864

 

 


 

내 코드

def solution(my_string):
    answer = ''
    num_list = []

    for x in my_string :
        if x.isdigit():
            answer +=x
        else :
            num_list.append(answer)
            answer = ''
    num_list.append(answer)
    return sum([int(x) for x in num_list if x != ''])

 

 

 

개선점: 구구절절 코드

 

베스트 코드

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())

나는 문자 구분을 위해서 리스트와 문자열 변수 두개를 사용했는데,

이쪽에서는 join과 split을 사용하여 변수 하나로 마무리 지었다.

 

import re

def solution(my_string):
    return sum([int(i) for i in re.findall(r'[0-9]+', my_string)])

이쪽에서는 정규식을 사용함

728x90
반응형