Programmers | 코딩테스트 입문 - 숨어있는 숫자의 덧셈(1) (자바,파이썬)

2022. 12. 29. 13:47공부/Programmers

프로그래머스 Lv.0 숨어있는 숫자의 덧셈(1) 

 

 

JAVA

class Solution {
    public int solution(String my_string) {
        int answer = 0;
        
        for(int i=0; i<my_string.length(); i++){
            int c = (int)my_string.charAt(i);
            if(c > 47 && c < 58){
                answer += (int)my_string.charAt(i) - '0';
            }
        }
        return answer;
    }
}

 

Python3

import re
def solution(my_string):
    answer = 0
    list = re.findall(r'\d',my_string)

    for i in list:
        answer += int(i)
    return answer
  • re.findall(pattern,string) : string에서 pattern에 해당되는 문자열을 리스트로 반환
  • r'\d' : 숫자 1개 추출
  • r'\d+' : 숫자 1개 이상 연속 추출

 

다른 사람 풀이

def solution(my_string):
    return sum(int(i) for i in my_string if i.isdigit())
  • isdigit( ) : 숫자인지 판별
  • 자바에서는 Charater.isDigit( )을 사용한다고 한다.