문자열 my_string이 매개변수로 주어집니다. my_string안의 모든 자연수들의 합을 return하도록 solution 함수를 완성해주세요.
my_string | result |
---|---|
"aAb1B2cC34oOp" | 10 |
"1a2b3c4d123" | 16 |
class Solution {
public int solution(String my_string) {
int answer = 0;
my_string = my_string.replaceAll("[a-zA-Z]", "");
String arr[] = my_string.split("");
for(int i = 0; i < arr.length; i++){
answer += Integer.valueOf(arr[i]);
}
return answer;
}
}
replaceAll을 통해 my_string 내부에 있는 대소문자를 모두 공백으로 지워주었다.
새로운 배열 arr[]을 정의하고 my_string에 split을 통해 각 문자를 배열 원소로 분할하였다.
for(int i = 0; i < arr.length; i++){
answer += Integer.valueOf(arr[i]);
를 통해 숫자만 정의된 새 배열 arr의 i값들을 정수형으로 변환하여 더해주었다.
Split
문자열을 특정 구분자를 기준으로 쪼개어 배열로 반환하는 Java의 문자열 메소드
public String[] split(String regex)
regex: 정규 표현식(Regular Expression) 또는 단순한 문자열을 나타내며, 이를 기준으로 문자열을 분할합니다.
메소드는 문자열을 주어진 정규 표현식 또는 문자열로 분할하고, 그 결과를 문자열 배열로 반환합니다.
ex)
public class SplitExample {
public static void main(String[] args) {
String text = "apple,orange,banana,grape";
String[] fruits = text.split(",");
for (String fruit : fruits) {
System.out.println(fruit);
}
}
}
이 예제에서는 split 메소드를 사용하여 쉼표(,)로 구분된 과일 목록을 분할합니다.
결과적으로 얻은 배열을 반복문으로 순회하여 각 과일을 출력합니다.
결과 :
apple
orange
banana
grape