본문 바로가기
코딩테스트

[파이썬] 프로그래머스 숨어있는 숫자의 덧셈(1)

by 왕자두 2023. 6. 10.

https://school.programmers.co.kr/learn/courses/30/lessons/120851

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

[문제 이해]

my_string이라는 문자열 안에 들어가 있는 자연수들의 합을 구해서 리턴하는 문제이다. 난이도 있는 문제는 아닌데 사용해야되는 라이브러리를 몰라서 좀 헤맸던 것 같다. 근데 다른 사람들의 풀이를 보니까 내가 좀 어렵게 푼 느낌이 들었다. is~ 함수들을 사용하면 되는데 이건 생각도 못했다.

 

[문제 풀이]

내가 사용한 모듈은 re 였다. re.sub(a, b, c) 함수를 사용해서 첫 번째 인자에는 내가 바꿀 예정인 문자열, 두 번째 인자에는 첫 번째 인자를 어떤 문자로 바꿀 것인지, 세 번째 인자에는 어떤 문자열에 대해서 바꿀 건지 작성하면 된다. 그래서 숫자가 아닌 경우에만 빈문자열로 바꾸도록 num = re.sub(r'[^0-9]', '', my_string) 이 코드를 써줬다. 근데 문자열 하나하나에서 isdigit() 이나 isdecimal()이나 isnumeric() 같은 거 사용해주면 굳이 re 모듈을 사용하지 않아도 훨씬 쉽게 문제를 풀 수 있을 것 같다. 

 

[최종 코드]

import re

def solution(my_string):
    answer = 0
    num = re.sub(r'[^0-9]', '', my_string)
    for i in num:
        answer += int(i)
    return answer

'코딩테스트' 카테고리의 다른 글

[파이썬] 프로그래머스 옷가게 할인 받기  (0) 2023.06.10
[파이썬] 백준 2578 빙고  (0) 2023.06.10