문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/120864
문제 설명 : 문자열 my_string이 매개변수로 주어집니다. my_string은 소문자, 대문자, 자연수로만 구성되어있습니다. my_string안의 자연수들의 합을 return하도록 solution 함수를 완성해주세요.
나의 풀이 :
class Solution {
public int solution(String my_string) {
int answer = 0;
String mystr_num = my_string.replaceAll("[a-zA-Z]"," ").trim();
String[] mystr_arr = mystr_num.split(" ");
for(int i=0; i<mystr_arr.length; i++){
if( !mystr_arr[i].equals("") ){
answer += Integer.parseInt(mystr_arr[i]);
}
}
return answer;
}
}
처음부터 이렇게 코드를 짠던 것은 아니고, 질문하기를 통해 나랑 비슷한 케이스들을 보고, 구글 검색하면서 잘된 사람들의 코드를 복붙하기는 보다는 직접 써보면서 코드를 작성했다. 알고 있었다고 생각했던 작은 것들이.. 정작 필요할 때는 어떻게 사용해야될지 생각조차 안나는 경우가 있다는것을 다시한번 느끼게 되었다. 특히 replaceAll의 사용과 split 사용 그리고 equals가 그랬다.
replace 참고 :
https://coding-factory.tistory.com/128
replaceAll("[a-zA-Z]"," ") 참고 :
https://www.andrew.cmu.edu/course/15-121/lectures/Strings/strings.html
728x90
300x250