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

융쬬·2024년 5월 5일

Algorithm

목록 보기
16/24

문제 바로가기

https://school.programmers.co.kr/tryouts/85892/challenges?language=python3

 

💡 문제 요약

문자열 my_string이 매개변수로 주어집니다. my_string은 소문자, 대문자, 자연수로만 구성되어있습니다. my_string안의 자연수들의 합을 return하도록 solution 함수를 완성해주세요.

ex)

my_stringresult
"aAb1B2cC34oOp"37
"1a2b3c4d123Z"133

 

💡 알고리즘 설계

  • 문자가 알파벳인지 숫자인지 확인한 후, 알파벳인 경우 공백으로 대체해준다.
  • split() 함수를 통해 공백을 제거하여 리스트에 넣어준 후, int형으로 형변환한다.
  • sum() 함수로 리스트의 모든 요소를 더해준다.

💡 내 코드

def solution(my_string):
    answer = []
    for ch in my_string:
        if ch.islower() or ch.isupper():
            my_string = my_string.replace(ch, ' ')
    
    answer = list(map(int, my_string.split()))
    
    return sum(answer)

 

💡 다른 풀이

def solution(my_string):
    answer = []
    for ch in my_string:
        if ch.isalpha():
            my_string = my_string.replace(ch, ' ')
    
    answer = list(map(int, my_string.split()))
    
    return sum(answer)

 

💡 오답노트

  • isalpha() / isdigit() 함수를 생각해내지 못 했다. 그래서 대신 사용한게 islower(), isupper()였다ㅋㅋㅋ
profile
영어공부 하는 Computer Scientist

0개의 댓글