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 |