문제 설명
문자열 my_string이 매개변수로 주어집니다. my_string 안의 모든 자연수들의 합을 return 하도록 solution 함수를 완성해주세요.
제한사항
- 1 <= my_string의 길이 <= 1,000
- my_string은 소문자, 대문자 그리고 한자리 자연수로만 구성되어있습니다.
입출력 예
my_string | result |
"aAb1B2cC34oOp" | 10 |
"1a2b3c4d123" | 16 |
class Solution {
public int solution(String my_string) {
int answer = 0;
String intString = my_string.replaceAll("[^0-9]","");
for (int i = 0; i < intString.length(); i++) {
answer += Character.getNumericValue(intString.charAt(i));
}
return answer;
}
}
이번에도 마찬가지로 replaceAll과 정규식을 통해 숫자 이외의 문자는 제거해주었습니다. for문으로 intString의 길이만큼 순회하면서, i번째 자리의 숫자를 복합 대입 연산자(+=)를 통해 하나씩 더해주었습니다. 여기서 getNumbericValue는 숫자 형태의 char형을 int로 바꿔주는 역할을 합니다.
다른 사람들의 풀이를 보니 아스키코드를 활용한 참신한 코드를 쓸 수도 있었네요.
replace를 이용한 다른 문제(replace와 replaceAll의 차이 설명)
[프로그래머스 코딩테스트] 특정 문자 제거하기(Java) https://sigfriede.tistory.com/34
replaceAll을 이용한 다른 문제
[프로그래머스 코딩테스트] 모음 제거(Java) https://sigfriede.tistory.com/44
replaceAll을 이용한 다른 문제
[프로그래머스 코딩테스트] 문자열 정렬하기(Java) https://sigfriede.tistory.com/45
'프로그래머스 > Lv. 0(코딩테스트 입문)' 카테고리의 다른 글
[프로그래머스 코딩테스트] 중복된 문자 제거(Java) (0) | 2023.03.28 |
---|---|
[프로그래머스 코딩테스트] 배열 원소의 길이(Java) (0) | 2023.03.28 |
[프로그래머스 코딩테스트] 문자열 정렬하기(1)(Java) (0) | 2023.03.27 |
[프로그래머스 코딩테스트] 모음 제거(Java) (0) | 2023.03.27 |
[프로그래머스 코딩테스트] 최댓값 만들기(1)(Java) (0) | 2023.03.27 |