나의 답
슬슬 이정도면 효율적으로 푸는 것 보다 내 생각을 코드로 얼마나 표현할 수 있는지 스스로 시험을 하는 기분이다 ㅋㅋㅋㅋ 효율적인 코딩~ 메모리~ 진짜 모르겠다.
그냥 머릿속으로 이러저러게 하면 되지않나? 이게 맞는지도 모르겠다 ㅎ 풀면됬지..
class Solution {
public int solution(String my_string) {
int answer = 0;
for (int i = 0; i < my_string.length(); i++) {
if (Character.isDigit(my_string.charAt(i))) {
answer += Character.getNumericValue(my_string.charAt(i));
}
}
return answer;
}
}
내가 생각했던 방법은 원소 하나하나 꺼내서 숫자면 더하자!! 라는 단순한 것이었는데
String에서 꺼내봤자 문자로 인식되더라🙄(지금 생각해보니 당연한 듯)
.charAt()
my_string.charAt(i)
String도 어쨌든 배열이니까 처음엔 my_string[i] 라고 적었으나 찾을 수 없다는 에러가 뜨더라
찾아보니 문자열은 .charAt()으로 쓰더라!
() 안에는 인덱스 번호 쓰면된다.
Character.isDigit()
if (Character.isDigit(my_string.charAt(i)))
숫자인지 아닌지 판별
그런데 String에서 뺀 Char 일텐데도 숫자인지 판별하더라? 신기하넴
Character.getNumericValue()
answer += Character.getNumericValue(my_string.charAt(i));
숫자형으로 형변환 시켜줌
'Java > 프로그래머스' 카테고리의 다른 글
문자 반복출력하기 (0) | 2023.06.06 |
---|---|
짝수는 싫어요 [프로그래머스/JAVA] (0) | 2023.05.28 |
짝수 홀수 개수 [프로그래머스/JAVA] (0) | 2023.05.28 |
옷가게 할인 받기 [프로그래머스/JAVA] (0) | 2023.05.28 |
문자열 뒤집기 [프로그래머스/JAVA] (0) | 2023.05.19 |