숨어있는 숫자의 덧셈 (2)
문제 #
문자열 my_string
이 매개변수로 주어집니다. my_string
은 소문자, 대문자, 자연수로만 구성되어있습니다. my_string
안의 자연수들의 합을 return하도록 solution 함수를 완성해주세요.
- 제한사항
- 1 ≤
my_string
의 길이 ≤ 1,000 - 1 ≤
my_string
안의 자연수 ≤ 1000 - 연속된 수는 하나의 숫자로 간주합니다.
- 000123과 같이 0이 선행하는 경우는 없습니다.
- 문자열에 자연수가 없는 경우 0을 return 해주세요.
- 1 ≤
- 입출력 예
my_string result “aAb1B2cC34oOp” 37 “1a2b3c4d123Z” 133
나의 풀이 #
class Solution {
public int solution(String my_string) {
int answer = 0;
String str = "";
for (int i = 0; i < my_string.length(); i++) {
char c = my_string.charAt(i);
// 연속된 수가 있을 경우 c는 숫자형이므로 str에 추가됨
if (Character.isDigit(c)) {
str += c;
}
// 문자열을 만날경우 지금까지의 str값을 answer에 더해줌
else if (!str.isEmpty()) {
answer += Integer.parseInt(str);
str = ""; // 계산을 마쳤기 때문에 값을 비워줌
}
}
//가장 마지막이 문자로 끝나지 않을 경우
if (!str.isEmpty()) {
answer += Integer.parseInt(str);
}
return answer;
}
}
- 코드 해설을 적는다.
다른 사람의 풀이 #
//다른 사람의 풀이중 참조할 코드를 적는다.
- 코드 해설을 적는다.
관련개념 학습 #
- 관련 개념을 찾아서 공부한 내용을 적는다.
ctrl + p
로 내가 필기한 내용 중에서 관련내용이 있는지 찾아서 그 페이지의 링크를 복사하여 붙혀넣는다.- 필기 페이지에도 이 문제의 링크를 복사하여 “관련 문제"라고 써놓고 붙혀넣는다.