본문 바로가기
Java/프로그래머스

숨어있는 숫자의 덧셈 (1) [프로그래머스/JAVA]

by 비븽 2023. 5. 30.

 


나의 답

슬슬 이정도면 효율적으로 푸는 것 보다 내 생각을 코드로 얼마나 표현할 수 있는지 스스로 시험을 하는 기분이다 ㅋㅋㅋㅋ 효율적인 코딩~ 메모리~ 진짜 모르겠다.

그냥 머릿속으로 이러저러게 하면 되지않나? 이게 맞는지도 모르겠다 ㅎ 풀면됬지..

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));

 숫자형으로 형변환 시켜줌