나의 풀이
class Solution {
public int solution(String my_string) {
String temp = my_string.replaceAll("[^0-9]", "");
int answer = 0 ;
for(int i = 0; i < temp.length(); i++)
{
answer += temp.charAt(i) - '0';
}
return answer;
}
}
temp.charAt(i)를 그냥 덧셈하면
1+2+3+4 가 아니라
아스키코드값 49, 50, 51... 의 덧셈이 되므로
'0'을 빼주면(0의 아스키코드값 = 48)
다시 자연수의 덧셈이 됨
다른 사람의 풀이
class Solution {
public int solution(String my_string) {
int answer = 0;
String str = my_string.replaceAll("[^0-9]","");
for(char ch : str.toCharArray()) {
answer += Character.getNumericValue(ch);
}
return answer;
}
}
내 거랑 비슷한데 getNumericValue함수를 이용
class Solution {
public int solution(String my_string) {
int sum = 0;
for(int i=0;i<my_string.length();i++){
String temp = my_string.substring(i,i+1);
switch(temp){
case "0":
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
sum += Integer.parseInt(temp);
break;
}
}
return sum;
}
}
이건 신기해서..
'코테 > java' 카테고리의 다른 글
[프로그래머스][java] lv 2 올바른 괄호 (1) | 2024.11.20 |
---|---|
[프로그래머스][java] lv 2 혼자 놀기의 달인 (0) | 2024.11.19 |
[프로그래머스][java] lv.0 가위바위보 (0) | 2024.11.18 |
[프로그래머스][java] lv 0 세균 증식 (0) | 2024.03.29 |
[프로그래머스][java] lv 0 제곱수 판별하기 (0) | 2024.03.28 |